Function at 0x46223c
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff94
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 8], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x462497
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x34]
mov edx, 0x24
call fcn.00407934
lea eax, [ebp - 0x34]
push eax
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x34], eax
mov dl, 1
mov eax, dword [0x45c1cc]
call fcn.0045c324
mov esi, eax
mov edx, 0x80000002
mov eax, esi
call fcn.0045c404
xor ecx, ecx
mov edx, 0x4624b0
mov eax, esi
call fcn.0045c4b8
test al, al
je 0x4622ef
lea ecx, [ebp - 0x48]
mov edx, 0x4624e8
mov eax, esi
call fcn.0045c6b4
mov edx, dword [ebp - 0x48]
lea eax, [ebx + 0x2c]
call fcn.00404588
lea ecx, [ebp - 0x4c]
mov edx, 0x462504
mov eax, esi
call fcn.0045c6b4
mov edx, dword [ebp - 0x4c]
lea eax, [ebx + 0x30]
call fcn.00404588
mov eax, esi
call fcn.0045c3b8
mov eax, esi
call fcn.00403794
lea eax, [ebp - 0x5c]
call fcn.00461d18
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x24], eax
mov eax, dword [0x47eb6c]
mov dword [0x480868], eax
lea eax, [ebp - 0x44]
call fcn.00461984
mov eax, dword [ebp - 0x44]
mov edx, eax
shr edx, 8
and edx, 0xf
mov dword [ebx + 0x38], edx
mov edx, eax
shr edx, 0xc
and edx, 3
mov dword [ebx + 0x4c], edx
mov edx, eax
shr edx, 4
and edx, 0xf
mov dword [ebx + 0x40], edx
and eax, 0xf
mov dword [ebx + 0x3c], eax
xor eax, eax
mov al, byte [ebp - 0x40]
mov dword [ebx + 0x68], eax
mov eax, dword [0x47eb64]
mov dword [0x480868], eax
lea eax, [ebp - 0x44]
call fcn.00461984
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x50], eax
lea eax, [ebp - 0x60]
call fcn.00461f8c
mov edx, dword [ebp - 0x60]
lea eax, [ebx + 0x60]
call fcn.00404588
xor eax, eax
mov dword [ebx + 0x6c], eax
lea eax, [ebx + 0x48]
call fcn.00404534
mov edi, 1
mov esi, 0x47eb8c
mov dword [ebp - 0xc], 0x47ebc4
mov dword [ebp - 0x10], 0x47eba8
mov eax, dword [esi]
mov edx, dword [ebx + 0x60]
call fcn.004048ec
jne 0x4623c3
mov dword [ebx + 0x6c], edi
lea eax, [ebx + 0x48]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call fcn.00404588
lea eax, [ebx + 0x78]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
call fcn.00404588
jmp 0x4623d4
inc edi
add dword [ebp - 0x10], 4
add dword [ebp - 0xc], 4
add esi, 4
cmp edi, 8
jne 0x462398
mov eax, dword [ebx + 0x28]
call fcn.0046205c
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x18], 0
je 0x4623f8
lea eax, [ebp - 0x64]
call fcn.00461ba0
mov edx, dword [ebp - 0x64]
lea eax, [ebx + 0x58]
call fcn.00404588
lea eax, [ebp - 0x68]
call fcn.00461fc8
mov edx, dword [ebp - 0x68]
lea eax, [ebx + 0x64]
call fcn.00404588
call fcn.00462030
mov byte [ebx + 0x5c], al
mov edx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x54]
call fcn.00462510
mov eax, dword [ebx + 0x68]
push eax
mov eax, dword [ebx + 0x4c]
push eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebx + 0x24]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x6c]
call fcn.004603c4
mov edx, dword [ebp - 0x6c]
lea eax, [ebx + 0x44]
call fcn.00404588
lea eax, [ebx + 0x70]
mov edx, dword [ebp - 8]
call fcn.00404588
mov eax, dword [ebp - 4]
mov dword [ebx + 0x74], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46249e
lea eax, [ebp - 0x6c]
mov edx, 4
call fcn.00404558
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.00404558
lea eax, [ebp - 8]
call fcn.00404534
ret