// 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 \u009C\u0002;
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 \u009C\u0002
{
  [GeneratedCode("MyTemplate", "8.0.0.0")]
  internal sealed class \u009E\u0002
  {
    private static readonly \u009E\u0002.\u0002\u0003<\u009D\u0002> \u0001 = new \u009E\u0002.\u0002\u0003<\u009D\u0002>();
    private static readonly \u009E\u0002.\u0002\u0003<\u009B\u0002> \u0002 = new \u009E\u0002.\u0002\u0003<\u009B\u0002>();
    private static readonly \u009E\u0002.\u0002\u0003<User> \u0003 = new \u009E\u0002.\u0002\u0003<User>();
    private static \u009E\u0002.\u0002\u0003<\u009E\u0002.\u009F\u0002> \u0004 = new \u009E\u0002.\u0002\u0003<\u009E\u0002.\u009F\u0002>();
    private static readonly \u009E\u0002.\u0002\u0003<\u009E\u0002.\u0001\u0003> \u0005 = new \u009E\u0002.\u0002\u0003<\u009E\u0002.\u0001\u0003>();

    [DebuggerNonUserCode]
    static \u009E\u0002()
    {
    }

    [SpecialName]
    internal static \u009D\u0002 \u0006\u0006() => \u009E\u0002.\u0001.\u0010\u0006();

    [SpecialName]
    internal static \u009B\u0002 \u0007\u0006() => \u009E\u0002.\u0002.\u0010\u0006();

    [SpecialName]
    internal static \u009E\u0002.\u009F\u0002 \u0008\u0006() => \u009E\u0002.\u0004.\u0010\u0006();

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

      [DebuggerNonUserCode]
      [SpecialName]
      public \u0003\u0003 \u000E\u0006()
      {
        this.\u0001 = \u009E\u0002.\u009F\u0002.\u000F\u0006<\u0003\u0003>(this.\u0001);
        return this.\u0001;
      }

      private static T \u000F\u0006<T>([In] T obj0) where T : Form, new()
      {
        if ((object) obj0 != null && !obj0.IsDisposed)
          return obj0;
        if (\u009E\u0002.\u009F\u0002.\u0002 != null)
        {
          // ISSUE: type reference
          if (\u009F\u0003.\u007E\u000E\u0004((object) \u009E\u0002.\u009F\u0002.\u0002, (object) \u0002\u0004.\u0092\u0003(__typeref (T))))
            throw new InvalidOperationException(\u0017\u0003.\u0081(\u0008.\u000E\u0003(6811), new string[0]));
        }
        else
          \u009E\u0002.\u009F\u0002.\u0002 = new Hashtable();
        // ISSUE: type reference
        \u0080\u0004.\u007E\u0008\u0004((object) \u009E\u0002.\u009F\u0002.\u0002, (object) \u0002\u0004.\u0092\u0003(__typeref (T)), (object) null);
        try
        {
          return new T();
        }
        catch (TargetInvocationException ex) when (
        {
          // ISSUE: unable to correctly present filter
          ProjectData.SetProjectError((Exception) ex);
          if (\u0089\u0004.\u007E\u008B\u0002((object) ex) != null)
          {
            SuccessfulFiltering;
          }
          else
            throw;
        }
        )
        {
          throw new InvalidOperationException(\u0017\u0003.\u0081(\u0008.\u000E\u0003(6852), new string[1]
          {
            \u0014\u0004.\u007E\u008A\u0002((object) \u0089\u0004.\u007E\u008B\u0002((object) ex))
          }), \u0089\u0004.\u007E\u008B\u0002((object) ex));
        }
        finally
        {
          // ISSUE: type reference
          \u0082\u0003.\u007E\u0011\u0004((object) \u009E\u0002.\u009F\u0002.\u0002, (object) \u0002\u0004.\u0092\u0003(__typeref (T)));
        }
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u009F\u0002()
      {
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override bool Equals([In] object obj0) => \u009F\u0003.\u0094((object) this, \u001B\u0005.\u008C\u0005(obj0));

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode() => \u0011\u0003.\u0095((object) this);

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString() => \u0014\u0004.\u0093((object) this);
    }

    [EditorBrowsable(EditorBrowsableState.Never)]
    internal sealed class \u0001\u0003
    {
      [EditorBrowsable(EditorBrowsableState.Never)]
      public override bool Equals([In] object obj0) => \u009F\u0003.\u0094((object) this, \u001B\u0005.\u008C\u0005(obj0));

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode() => \u0011\u0003.\u0095((object) this);

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString() => \u0014\u0004.\u0093((object) this);

      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u0001\u0003()
      {
      }
    }

    [EditorBrowsable(EditorBrowsableState.Never)]
    [ComVisible(false)]
    internal sealed class \u0002\u0003<T> where T : new()
    {
      [SpecialName]
      internal T \u0010\u0006()
      {
        // ISSUE: reference to a compiler-generated field
        if ((object) \u009E\u0002.\u0002\u0003<T>.\u0001 == null)
          goto label_2;
label_1:
        // ISSUE: reference to a compiler-generated field
        return \u009E\u0002.\u0002\u0003<T>.\u0001;
label_2:
        // ISSUE: reference to a compiler-generated field
        \u009E\u0002.\u0002\u0003<T>.\u0001 = new T();
        goto label_1;
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public \u0002\u0003()
      {
      }
    }
  }
}
