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

Disassembly:
sub esp, 0x278
mov eax, dword [0x4de57c]
xor eax, esp
mov dword [esp + 0x274], eax
push esi
push edi
mov edi, dword [esp + 0x284]
push str.Processor_Info:_n
push edi
call fcn.00490a6e
push str.________________n
push edi
call fcn.00490a6e
add esp, 0x10
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
xor esi, esi
cmp dword [esp + 0x28], esi
jbe 0x444381
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push ebp
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x444180
push esi
lea ecx, [esp + 0x184]
push str.HardwareDescriptionSystemCentralProcessor_d
push ecx
call ebp
add esp, 0xc
lea edx, [esp + 0x14]
push edx
push 1
push 0
lea eax, [esp + 0x18c]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x444372
push esi
push str.Processor_u_n
push edi
mov dword [esp + 0x1c], 4
call fcn.00490a6e
mov ecx, dword [str.MHz]
mov dl, byte [0x4c1a08]
add esp, 0xc
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x1c]
push ecx
push 0
mov byte [esp + 0x50], dl
push 0
lea edx, [esp + 0x50]
push edx
push eax
call ebx
test eax, eax
jne 0x444218
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x44]
push edx
push str.___s:__u_n
push edi
call fcn.00490a6e
add esp, 0x10
mov eax, dword [str.VendorIdentifier]
mov edx, dword [0x4c19ec]
mov ecx, dword [0x4c19e8]
mov dword [esp + 0x54], eax
mov eax, dword [0x4c19f0]
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x10]
push edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x80]
push eax
mov dword [esp + 0x60], ecx
mov cl, byte [0x4c19f4]
push 0
mov byte [esp + 0x70], cl
push 0
lea ecx, [esp + 0x64]
push ecx
push edx
mov dword [esp + 0x28], 0x104
call ebx
test eax, eax
jne 0x444289
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x58]
push ecx
push str.___s:__s_n
push edi
call fcn.00490a6e
add esp, 0x10
mov eax, dword [0x4c19d0]
mov cx, word [0x4c19d4]
mov edx, dword [str.Identifier]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x18]
mov word [esp + 0x54], cx
lea ecx, [esp + 0x80]
push ecx
mov dword [esp + 0x50], edx
mov dl, byte [0x4c19d6]
push 0
mov byte [esp + 0x5e], dl
push 0
lea edx, [esp + 0x58]
push edx
push eax
mov dword [esp + 0x28], 0x104
call ebx
test eax, eax
jne 0x4442f3
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x4c]
push edx
push str.___s:__s_n
push edi
call fcn.00490a6e
add esp, 0x10
mov eax, dword [str.ProcessorNameString]
mov edx, dword [0x4c19c0]
mov ecx, dword [0x4c19bc]
mov dword [esp + 0x68], eax
mov eax, dword [0x4c19c4]
mov dword [esp + 0x70], edx
lea edx, [esp + 0x10]
push edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x80]
push eax
mov dword [esp + 0x74], ecx
mov ecx, dword [0x4c19c8]
push 0
mov dword [esp + 0x84], ecx
push 0
lea ecx, [esp + 0x78]
push ecx
push edx
mov dword [esp + 0x28], 0x104
call ebx
test eax, eax
jne 0x444367
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x6c]
push ecx
push str.___s:__s_n
push edi
call fcn.00490a6e
add esp, 0x10
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esi, 1
cmp esi, dword [esp + 0x30]
jb 0x444180
pop ebp
pop ebx
push 0x4c17c0
push edi
call fcn.00490a6e
mov ecx, dword [esp + 0x284]
add esp, 8
pop edi
pop esi
xor ecx, esp
call fcn.0048de34
add esp, 0x278
ret 4