Function at 0x43cbbb
Capabilities:
Get cpu information
Get system information on windows
Query or enumerate registry value

Disassembly:
sub esp, 0x358
mov eax, dword [0x5c9040]
xor eax, esp
mov dword [esp + 0x354], eax
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x34], edx
xor ebx, ebx
mov dword [esp + 0x38], ecx
call fcn.00442ca6
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [esp + 0x54]
push 0x30
push edi
call dword [0x603d40]
mov ebp, eax
mov dword [esp + 0x38], ebp
pop ecx
pop ecx
test ebp, ebp
jne 0x43cc0e
push 0xe
pop esi
jmp 0x43ce21
imul esi, edi, 0x30
mov ecx, esi
call fcn.004396f2
mov ebx, eax
test ebx, ebx
jne 0x43cc23
push 0xe
pop esi
jmp 0x43cc3f
lea eax, [esp + 0x3c]
push eax
push esi
push ebx
push 8
call dword [0x8c0114]
test eax, eax
jns 0x43cc4c
push eax
call dword [0x8c012c]
mov esi, eax
test edi, edi
je 0x43ce21
jmp 0x43ce0d
xor ecx, ecx
mov dword [esp + 0x24], ecx
test edi, edi
je 0x43cdd5
lea eax, [ebp + 0x20]
mov dword [esp + 0x10], eax
lea eax, [ebx + 8]
mov dword [esp + 0x28], eax
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x1c], eax
push ecx
push str.HARDWAREDESCRIPTIONSystemCentralProcessor_d
lea eax, [esp + 0x6c]
mov dword [esp + 0x34], 4
push 0x80
push eax
mov dword [esp + 0x30], 0x200
call fcn.00433cbf
add esp, 0x10
lea eax, [esp + 0x14]
push eax
push 1
push 0
lea eax, [esp + 0x70]
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test esi, esi
jne 0x43ce0d
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x1c]
push eax
push esi
push esi
push str.MHz
push dword [esp + 0x28]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test esi, esi
jne 0x43ce03
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x168]
push eax
push esi
push esi
push 0x5897c4
push dword [esp + 0x28]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [esp + 0x14]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x43ce0d
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push 0
push 0x2710
mov dword [ecx + esi - 4], eax
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.0054e670
mov ecx, dword [esp + 0x1c]
push 0
push 0x2710
mov dword [ecx + esi], eax
mov dword [ecx + esi + 4], edx
mov ecx, dword [esi]
sub ecx, dword [esi - 8]
mov eax, dword [esi + 4]
sbb eax, dword [esi - 4]
push eax
push ecx
call fcn.0054e670
mov ecx, dword [esp + 0x10]
push 0
push 0x2710
mov dword [ecx - 8], eax
mov dword [ecx - 4], edx
push dword [esi - 4]
push dword [esi - 8]
call fcn.0054e670
mov ecx, dword [esp + 0x10]
push 0
push 0x2710
mov dword [ecx], eax
mov dword [ecx + 4], edx
push dword [esi + 0x1c]
push dword [esi + 0x18]
call fcn.0054e670
mov ecx, dword [esp + 0x10]
and dword [ecx - 0x10], 0
and dword [ecx - 0xc], 0
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [ecx + 8], eax
lea eax, [ecx - 0x20]
push eax
shr edx, 1
lea ecx, [esp + 0x168]
call fcn.0043d585
add dword [esp + 0x14], 0x30
add esi, 0x30
pop ecx
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ecx
cmp ecx, edi
jb 0x43cc70
mov ecx, ebx
call fcn.00439702
mov eax, dword [esp + 0x34]
mov dword [eax], edi
mov eax, dword [esp + 0x38]
mov dword [eax], ebp
xor eax, eax
mov ecx, dword [esp + 0x364]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0051b034
add esp, 0x358
ret
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp]
call fcn.00439702
lea ebp, [ebp + 0x30]
sub edi, 1
jne 0x43ce0d
mov ebp, dword [esp + 0x30]
mov ecx, ebp
call fcn.00439702
mov ecx, ebx
call fcn.00439702
mov ecx, esi
call fcn.00449d08
jmp 0x43cdea