// 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 \u007F\u0004;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace \u007F\u0004
{
  internal class \u0093\u0004
  {
    private static bool \u0001;
    private static \u0093\u0004.\u0006\u0002 \u0002;

    [DllImport("kernel32.Dll", EntryPoint = "GetVersionEx")]
    private static extern short \u0006\u0002([In] ref \u0093\u0004.\u0006\u0002 obj0);

    [DllImport("user32.dll", EntryPoint = "GetSystemMetrics")]
    private static extern int \u0006\u0002([In] int obj0);

    [DllImport("kernel32.dll", EntryPoint = "GetSystemInfo")]
    private static extern void \u0006\u0002([In] ref \u0093\u0004.\u0094\u0004 obj0);

    [SpecialName]
    private static \u0093\u0004.\u0006\u0002 \u0006\u0002()
    {
      if (!\u0093\u0004.\u0001)
      {
        \u0093\u0004.\u0002 = new \u0093\u0004.\u0006\u0002();
        try
        {
          \u0093\u0004.\u0002.\u0001 = Marshal.SizeOf(typeof (\u0093\u0004.\u0006\u0002));
          do
          {
            if (true)
            {
              int num = (int) \u0093\u0004.\u0006\u0002(ref \u0093\u0004.\u0002);
            }
            if (false)
              goto label_9;
          }
          while (false);
          \u0093\u0004.\u0001 = true;
        }
        catch
        {
        }
      }
label_9:
      return \u0093\u0004.\u0002;
    }

    [SpecialName]
    internal static bool \u0006\u0002()
    {
      try
      {
        \u0093\u0004.\u0094\u0004 obj = new \u0093\u0004.\u0094\u0004();
        \u0093\u0004.\u0006\u0002(ref obj);
        int num1 = (int) obj.\u0001;
        int num2;
        do
        {
          num2 = 9;
          while (num2 != 0)
          {
            if (true)
            {
              int num3 = num1 == num2 ? 1 : 0;
              num2 = 6;
              num1 = num3;
              break;
            }
          }
        }
        while (num2 == 0);
        return num1 != 0;
      }
      catch
      {
        return false;
      }
    }

    [SpecialName]
    internal static bool \u001E\u0004()
    {
      bool flag;
      try
      {
        if (true)
        {
          int num1 = \u0093\u0004.\u0006\u0002(89) == 0 ? 1 : 0;
          int num2;
          while (true)
          {
            int num3 = 0;
            int num4;
            while (true)
            {
              num2 = num1 == num3 ? 1 : 0;
              num4 = 0;
              if (num4 != 0)
              {
                num3 = num4;
                num1 = num2;
              }
              else
                break;
            }
            if (num4 != 0)
              num1 = num2;
            else
              break;
          }
          flag = num2 != 0;
        }
      }
      catch
      {
        flag = false;
      }
      return flag;
    }

    [SpecialName]
    internal static bool \u0092\u0004() => \u0093\u0004.\u0006\u0002().\u000F == (byte) 1;

    [SpecialName]
    internal static string \u0006\u0002() => \u0093\u0004.\u0006\u0002().\u0006;

    private struct \u0006\u0002
    {
      public int \u0001;
      public uint \u0002;
      public uint \u0003;
      public uint \u0004;
      public uint \u0005;
      [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
      public string \u0006;
      public ushort \u0007;
      public ushort \u0008;
      public ushort \u000E;
      public byte \u000F;
      private byte \u0010;
    }

    internal struct \u0094\u0004
    {
      public ushort \u0001;
      private ushort \u0002;
      public uint \u0003;
      public IntPtr \u0004;
      public IntPtr \u0005;
      public IntPtr \u0006;
      public uint \u0007;
      public uint \u0008;
      public uint \u000E;
      public ushort \u000F;
      public ushort \u0010;
    }
  }
}
