// Token: 0x06000060 RID: 96 RVA: 0x000055D0 File Offset: 0x000037D0
        public static string GetHWID()
        {
            uint num;

            uint num2;
            FileSystemFeature fileSystemFeature;

            HWIDUtilities.GetVolumeInformation("C:\\", null, 0, out num, out num2, out fileSystemFeature, null, 0);
            uint          num3          = 32u;
            StringBuilder stringBuilder = new StringBuilder(32);

            HWIDUtilities.GetComputerNameA(stringBuilder, ref num3);
            string text = "";

            foreach (char c2 in stringBuilder.ToString())
            {
                text += ((byte)c2).ToString("x2");
            }
            string arg = "";

            byte[] source = HWIDUtilities.Invoke(0);
            for (int j = 0; j < 3; j++)
            {
                arg += BitConverter.ToInt32(source.Skip(j * 4).Take(4).ToArray <byte>(), 0);
            }
            string source2 = string.Format("{0}-{1}-{2}", arg, num, text);

            source2 = HWIDUtilities.HashFNV1a((from c in source2
                                               select(byte) c).ToArray <byte>()).ToString();
            return(Convert.ToBase64String((from c in source2
                                           select(byte) c).ToArray <byte>()));
        }
        // Token: 0x06000062 RID: 98 RVA: 0x00005774 File Offset: 0x00003974
        public static byte[] Invoke(int level)
        {
            IntPtr intPtr = IntPtr.Zero;

            byte[] result;
            try
            {
                bool   flag  = IntPtr.Size == 4;
                bool   flag2 = flag;
                byte[] array;
                if (flag2)
                {
                    array = HWIDUtilities.x86CodeBytes;
                }
                else
                {
                    array = HWIDUtilities.x64CodeBytes;
                }
                intPtr = HWIDUtilities.VirtualAlloc(IntPtr.Zero, new UIntPtr((uint)array.Length), AllocationType.COMMIT | AllocationType.RESERVE, MemoryProtection.EXECUTE_READWRITE);
                Marshal.Copy(array, 0, intPtr, array.Length);
                HWIDUtilities.CpuIDDelegate cpuIDDelegate = (HWIDUtilities.CpuIDDelegate)Marshal.GetDelegateForFunctionPointer(intPtr, typeof(HWIDUtilities.CpuIDDelegate));
                GCHandle a      = default(GCHandle);
                byte[]   array2 = new byte[16];
                try
                {
                    a = GCHandle.Alloc(array2, GCHandleType.Pinned);
                    cpuIDDelegate(level, array2);
                }
                finally
                {
                    bool flag3 = a != default(GCHandle);
                    bool flag4 = flag3;
                    if (flag4)
                    {
                        a.Free();
                    }
                }
                result = array2;
            }
            finally
            {
                bool flag5 = intPtr != IntPtr.Zero;
                bool flag6 = flag5;
                if (flag6)
                {
                    HWIDUtilities.VirtualFree(intPtr, 0u, 32768u);
                    intPtr = IntPtr.Zero;
                }
            }
            return(result);
        }