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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x440
mov eax, dword [0x1006b5d8]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push ebx
push esi
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], eax
push edi
lea eax, [ebp - 0x440]
push eax
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x414], 1
mov dword [ebp - 0x418], 0x200
call dword [sym.imp.kernel32.dll_GetSystemInfo]
push 0x200
lea ecx, [ebp - 0x404]
push 0
push ecx
call fcn.1003ae80
push 0x200
lea edx, [ebp - 0x204]
push 0
push edx
call fcn.1003ae80
add esp, 0x18
lea eax, [ebp - 0x408]
push eax
push 0xf003f
push 0
push 0x10058b24
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x100115b4
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x418]
push ecx
mov ecx, dword [ebp - 0x408]
lea edx, [ebp - 0x404]
push edx
lea eax, [ebp - 0x414]
push eax
push 0
push 0x10058b10
push ecx
call esi
lea edx, [ebp - 0x418]
push edx
mov edx, dword [ebp - 0x408]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x414]
push ecx
push 0
push 0x10058b04
push edx
call esi
mov eax, dword [ebp - 0x408]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pushfd
pop eax
mov dword [ebp - 0x41c], eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x40c]
cmp ecx, dword [ebp - 0x41c]
je 0x10011600
mov eax, 1
cpuid
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x410]
and eax, 0x3ff0
jmp 0x10011602
xor eax, eax
mov edx, dword [0x1007e6bc]
mov dword [edx + 0x180c], eax
call fcn.100112d0
mov ecx, dword [0x1007e6bc]
mov esi, dword [sym.imp.kernel32.dll_lstrcpy]
mov dword [ecx + 0x1810], eax
mov eax, dword [ebp - 0x42c]
lea edx, [ebp - 0x404]
mov dword [ecx + 0x1814], eax
push edx
add ecx, 0x1818
push ecx
call esi
mov eax, dword [0x1007e6bc]
mov ebx, dword [sym.imp.kernel32.dll_lstrlen]
add eax, 0x1c54
push eax
call ebx
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
test eax, eax
je 0x1001167c
mov ecx, dword [0x1007e6bc]
add ecx, 0x1c54
push ecx
lea edx, [ebp - 0x404]
push 0x100578ac
push edx
call edi
add esp, 0xc
mov ecx, dword [0x1007e6bc]
lea eax, [ebp - 0x204]
push eax
add ecx, 0x1a18
push ecx
call esi
mov edx, dword [0x1007e6bc]
add edx, 0x1e54
push edx
call ebx
test eax, eax
je 0x100116c8
mov eax, dword [0x1007e6bc]
lea ecx, [eax + 0x1e54]
push ecx
lea edx, [ebp - 0x204]
push edx
add eax, 0x1a18
push 0x10058afc
push eax
call edi
add esp, 0x10
mov eax, dword [0x1007e6bc]
mov cl, byte [eax + 0x1803]
push 0x10058a1c
push 0x10081148
mov byte [eax + 0x1802], cl
call esi
pushfd
pop eax
mov dword [ebp - 0x410], eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
mov dword [ebp - 0x40c], eax
mov edx, dword [ebp - 0x40c]
cmp edx, dword [ebp - 0x410]
je 0x1001172a
mov eax, 0
cpuid
mov dword [0x10081148], ebx
mov dword [0x1008114c], edx
mov dword [0x10081150], ecx
mov byte [0x10081154], 0
mov eax, dword [0x1007e6bc]
mov ecx, dword [eax + 0x1810]
mov edx, dword [eax + 0x1814]
push ecx
push edx
add eax, 0x1818
push eax
push 0x10081148
call fcn.10011400
mov ecx, dword [0x1007e6bc]
add esp, 0x10
mov byte [ecx + 0x1802], al
pushfd
pop eax
mov dword [ebp - 0x410], eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
mov dword [ebp - 0x40c], eax
mov edx, dword [ebp - 0x40c]
cmp edx, dword [ebp - 0x410]
jne 0x10011785
xor eax, eax
jmp 0x1001179e
mov eax, 1
cpuid
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x41c]
shr eax, 0x19
and eax, 1
mov ecx, dword [0x10077fb0]
mov dword [ecx + 0x44], eax
mov edx, dword [0x10077fb0]
cmp dword [edx + 0x44], 0
jne 0x100117bf
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1802], 3
push 0x10058a1c
push 0x10081148
call esi
pushfd
pop eax
mov dword [ebp - 0x410], eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x40c]
cmp ecx, dword [ebp - 0x410]
je 0x10011810
mov eax, 0
cpuid
mov dword [0x10081148], ebx
mov dword [0x1008114c], edx
mov dword [0x10081150], ecx
mov byte [0x10081154], 0
mov eax, dword [0x1007e6bc]
mov ecx, dword [eax + 0x1814]
push 0x10081148
lea edx, [eax + 0x1a18]
push edx
push ecx
mov ecx, dword [eax + 0x180c]
lea edx, [eax + 0x1818]
push edx
push ecx
add eax, 0x400
push 0x10058ac8
push eax
call edi
mov ecx, dword [ebp - 4]
add esp, 0x1c
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.1003b1fb
mov esp, ebp
pop ebp
ret