// 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 \u001B\u0004;
using \u001C\u0004;
using \u007F\u0004;
using Microsoft.VisualBasic.ApplicationServices;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace \u001B\u0004
{
  [GeneratedCode("MyTemplate", "8.0.0.0")]
  internal sealed class \u0094
  {
    private static readonly \u0094.\u0097<\u0093> \u0001;
    private static readonly \u0094.\u0097<\u0091> \u0002;
    private static readonly \u0094.\u0097<User> \u0003;
    private static \u0094.\u0097<\u0094.\u0095> \u0004;
    private static readonly \u0094.\u0097<\u0094.\u0096> \u0005;

    [DebuggerNonUserCode]
    static \u0094()
    {
      try
      {
        \u0094.\u0001 = new \u0094.\u0097<\u0093>();
        \u0094.\u0002 = new \u0094.\u0097<\u0091>();
        \u0094.\u0003 = new \u0094.\u0097<User>();
        \u0094.\u0004 = new \u0094.\u0097<\u0094.\u0095>();
        \u0094.\u0005 = new \u0094.\u0097<\u0094.\u0096>();
      }
      catch (Exception ex)
      {
        \u0089\u0004.\u0017\u0005(ex);
        throw;
      }
    }

    [SpecialName]
    internal static \u0091 \u001B\u0003()
    {
      try
      {
        return \u0094.\u0002.\u0083\u0003();
      }
      catch (Exception ex)
      {
        \u0091 obj1;
        \u0091 obj2 = obj1;
        \u0089\u0004.\u0018\u0005(ex, (object) obj2);
        throw;
      }
    }

    [SpecialName]
    internal static \u0094.\u0095 \u001D\u0003()
    {
      try
      {
        return \u0094.\u0004.\u0083\u0003();
      }
      catch (Exception ex)
      {
        \u0094.\u0095 obj1;
        \u0094.\u0095 obj2 = obj1;
        \u0089\u0004.\u0018\u0005(ex, (object) obj2);
        throw;
      }
    }

    [EditorBrowsable(EditorBrowsableState.Never)]
    internal sealed class \u0095
    {
      public \u009D \u0001;
      [ThreadStatic]
      private static Hashtable \u0002;

      [DebuggerNonUserCode]
      [SpecialName]
      public \u009D \u001F\u0003()
      {
        try
        {
          this.\u0001 = \u0094.\u0095.\u0080\u0003<\u009D>(this.\u0001);
          return this.\u0001;
        }
        catch (Exception ex)
        {
          \u009D obj1;
          \u009D obj2 = obj1;
          \u0089\u0004.\u0019\u0005(ex, (object) obj2, (object) this);
          throw;
        }
      }

      private static \u0098 \u0080\u0003<\u0098>([In] \u0098 obj0) where \u0098 : Form, new()
      {
        bool flag1;
        bool flag2;
        \u0098 obj1;
        string[] strArray1;
        string message;
        bool flag3;
        try
        {
          flag3 = (object) obj0 == null || obj0.IsDisposed;
          if (flag3)
          {
            flag1 = \u0094.\u0095.\u0002 != null;
            if (flag1)
            {
              // ISSUE: type reference
              flag2 = \u0083\u0002.\u007E\u001D\u0004((object) \u0094.\u0095.\u0002, (object) \u0082\u0003.\u008C\u0003(__typeref (\u0098)));
              if (flag2)
                throw new InvalidOperationException(\u0090\u0004.\u000F\u0007(\u0002.\u0002\u0002(2997), new string[0]));
            }
            else
              \u0094.\u0095.\u0002 = new Hashtable();
            // ISSUE: type reference
            \u008B\u0003.\u007E\u001C\u0004((object) \u0094.\u0095.\u0002, (object) \u0082\u0003.\u008C\u0003(__typeref (\u0098)), (object) null);
            try
            {
              obj1 = new \u0098();
            }
            catch (TargetInvocationException ex) when (
            {
              // ISSUE: unable to correctly present filter
              ProjectData.SetProjectError((Exception) ex);
              if (\u001D\u0002.\u007E\u0088\u0002((object) ex) != null)
              {
                SuccessfulFiltering;
              }
              else
                throw;
            }
            )
            {
              \u0090\u0004 obj2 = \u0090\u0004.\u000F\u0007;
              string str = \u0002.\u0002\u0002(3038);
              strArray1 = new string[1]
              {
                \u0082\u0002.\u007E\u0086\u0002((object) \u001D\u0002.\u007E\u0088\u0002((object) ex))
              };
              string[] strArray2 = strArray1;
              message = obj2(str, strArray2);
              throw new InvalidOperationException(message, \u001D\u0002.\u007E\u0088\u0002((object) ex));
            }
            finally
            {
              // ISSUE: type reference
              \u008C\u0003.\u007E\u007F\u0004((object) \u0094.\u0095.\u0002, (object) \u0082\u0003.\u008C\u0003(__typeref (\u0098)));
            }
          }
          else
            obj1 = obj0;
          return obj1;
        }
        catch (Exception ex)
        {
          // ISSUE: variable of a boxed type
          __Boxed<\u0098> local1 = (object) obj1;
          string str = message;
          TargetInvocationException invocationException = ex;
          string[] strArray3 = strArray1;
          // ISSUE: variable of a boxed type
          __Boxed<bool> local2 = (ValueType) flag3;
          // ISSUE: variable of a boxed type
          __Boxed<bool> local3 = (ValueType) flag1;
          // ISSUE: variable of a boxed type
          __Boxed<bool> local4 = (ValueType) flag2;
          // ISSUE: variable of a boxed type
          __Boxed<\u0098> local5 = (object) obj0;
          \u0089\u0004.\u001F\u0005(ex, (object) local1, (object) str, (object) invocationException, (object) strArray3, (object) local2, (object) local3, (object) local4, (object) local5);
          throw;
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u0095()
      {
        try
        {
        }
        catch (Exception ex)
        {
          \u0089\u0004.\u0018\u0005(ex, (object) this);
          throw;
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override bool Equals([In] object obj0)
      {
        try
        {
          return base.Equals(RuntimeHelpers.GetObjectValue(obj0));
        }
        catch (Exception ex)
        {
          bool flag;
          // ISSUE: variable of a boxed type
          __Boxed<bool> local = (ValueType) flag;
          object obj = obj0;
          \u0089\u0004.\u001A\u0005(ex, (object) local, (object) this, obj);
          throw;
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode()
      {
        try
        {
          return base.GetHashCode();
        }
        catch (Exception ex)
        {
          int num;
          // ISSUE: variable of a boxed type
          __Boxed<int> local = (ValueType) num;
          \u0089\u0004.\u0019\u0005(ex, (object) local, (object) this);
          throw;
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString()
      {
        try
        {
          return base.ToString();
        }
        catch (Exception ex)
        {
          string str1;
          string str2 = str1;
          \u0089\u0004.\u0019\u0005(ex, (object) str2, (object) this);
          throw;
        }
      }
    }

    [EditorBrowsable(EditorBrowsableState.Never)]
    internal sealed class \u0096
    {
      [EditorBrowsable(EditorBrowsableState.Never)]
      public override bool Equals([In] object obj0)
      {
        try
        {
          return base.Equals(RuntimeHelpers.GetObjectValue(obj0));
        }
        catch (Exception ex)
        {
          bool flag;
          // ISSUE: variable of a boxed type
          __Boxed<bool> local = (ValueType) flag;
          object obj = obj0;
          \u0089\u0004.\u001A\u0005(ex, (object) local, (object) this, obj);
          throw;
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode()
      {
        try
        {
          return base.GetHashCode();
        }
        catch (Exception ex)
        {
          int num;
          // ISSUE: variable of a boxed type
          __Boxed<int> local = (ValueType) num;
          \u0089\u0004.\u0019\u0005(ex, (object) local, (object) this);
          throw;
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString()
      {
        try
        {
          string str1 = base.ToString();
          if (true)
            goto label_2;
label_1:
          string str2;
          return str2;
label_2:
          str2 = str1;
          goto label_1;
        }
        catch (Exception ex)
        {
          string str3;
          string str4 = str3;
          \u0089\u0004.\u0019\u0005(ex, (object) str4, (object) this);
          throw;
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u0096()
      {
        try
        {
        }
        catch (Exception ex)
        {
          \u0089\u0004.\u0018\u0005(ex, (object) this);
          throw;
        }
      }
    }

    [EditorBrowsable(EditorBrowsableState.Never)]
    [ComVisible(false)]
    internal sealed class \u0097<\u0098> where \u0098 : new()
    {
      [SpecialName]
      internal \u0098 \u0083\u0003()
      {
        bool flag;
        try
        {
          // ISSUE: reference to a compiler-generated field
          flag = (object) \u0094.\u0097<\u0098>.\u0001 == null;
          if (flag)
            goto label_2;
label_1:
          // ISSUE: reference to a compiler-generated field
          return \u0094.\u0097<\u0098>.\u0001;
label_2:
          // ISSUE: reference to a compiler-generated field
          \u0094.\u0097<\u0098>.\u0001 = new \u0098();
          goto label_1;
        }
        catch (Exception ex)
        {
          \u0098 obj;
          // ISSUE: variable of a boxed type
          __Boxed<\u0098> local1 = (object) obj;
          // ISSUE: variable of a boxed type
          __Boxed<bool> local2 = (ValueType) flag;
          \u0089\u0004.\u001A\u0005(ex, (object) local1, (object) local2, (object) this);
          throw;
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u0097()
      {
        try
        {
        }
        catch (Exception ex)
        {
          \u0089\u0004.\u0018\u0005(ex, (object) this);
          throw;
        }
      }
    }
  }
}
