Function at 0x467b54
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
mov esi, eax
mov edi, 0x48ac58
xor eax, eax
push ebp
push 0x467db2
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x24]
mov edx, 0x24
call fcn.00407478
lea eax, [ebp - 0x24]
push eax
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x24], eax
mov eax, esi
call fcn.00466ff8
mov ebx, eax
mov byte [esi + 0x34], bl
test bl, bl
je 0x467d97
mov eax, esi
call fcn.00467054
mov dword [esi + 0x1c], eax
mov eax, esi
call fcn.00467a68
call fcn.00402b50
mov dword [esi + 0x30], eax
mov eax, esi
call fcn.00467070
mov dword [esi + 0x28], eax
mov eax, esi
call fcn.0046700c
xor eax, eax
mov al, byte [0x48ac54]
mov dword [esi + 0x28], eax
xor eax, eax
mov al, byte [0x48ac51]
mov dword [esi + 0x24], eax
xor eax, eax
mov al, byte [0x48ac52]
mov dword [esi + 0x10], eax
xor eax, eax
mov al, byte [0x48ac53]
mov dword [esi + 0x20], eax
lea edx, [ebp - 0x28]
mov eax, esi
call fcn.004670f8
mov edx, dword [ebp - 0x28]
lea eax, [esi + 8]
call fcn.00404528
lea edx, [ebp - 0x2c]
mov eax, esi
call fcn.004671b0
mov edx, dword [ebp - 0x2c]
lea eax, [esi + 4]
call fcn.00404528
lea edx, [ebp - 0x30]
mov eax, esi
call fcn.00467a94
mov edx, dword [ebp - 0x30]
lea eax, [esi + 0xc]
call fcn.00404528
mov edx, dword [edi]
and edx, 0x1000000
cmp edx, 0x1000000
sete dl
mov eax, dword [esi + 0x38]
mov byte [eax + 0xd], dl
mov edx, dword [edi]
and edx, 0x800000
cmp edx, 0x800000
sete dl
mov byte [eax + 0xa], dl
mov edx, dword [edi]
and edx, 0x20000
cmp edx, 0x20000
sete dl
mov byte [eax + 0x16], dl
mov edx, dword [edi]
and edx, 0x10000
cmp edx, 0x10000
sete dl
mov byte [eax + 0xb], dl
mov edx, dword [edi]
and edx, 0x8000
cmp edx, 0x8000
sete dl
mov byte [eax + 0x10], dl
mov edx, dword [edi]
and edx, 0x4000
cmp edx, 0x4000
sete dl
mov byte [eax + 0x13], dl
mov edx, dword [edi]
and edx, 0x2000
cmp edx, 0x2000
sete dl
mov byte [eax + 0xf], dl
mov edx, dword [edi]
and edx, 0x1000
cmp edx, 0x1000
sete dl
mov byte [eax + 5], dl
mov edx, dword [edi]
and edx, 0x800
cmp edx, 0x800
sete dl
mov byte [eax + 4], dl
mov edx, dword [edi]
and edx, 0x200
cmp edx, 0x200
sete dl
mov byte [eax + 0x14], dl
mov edx, dword [edi]
and edx, 0x100
cmp edx, 0x100
sete dl
mov byte [eax + 0x12], dl
mov edx, dword [edi]
and edx, 0x80
cmp edx, 0x80
sete dl
mov byte [eax + 9], dl
mov edx, dword [edi]
and edx, 0x40
cmp edx, 0x40
sete dl
mov byte [eax + 0xc], dl
mov edx, dword [edi]
and edx, 0x20
cmp edx, 0x20
sete dl
mov byte [eax + 6], dl
mov edx, dword [edi]
and edx, 0x10
cmp edx, 0x10
sete dl
mov byte [eax + 8], dl
mov edx, dword [edi]
and edx, 8
cmp edx, 8
sete dl
mov byte [eax + 7], dl
mov edx, dword [edi]
and edx, 4
cmp edx, 4
sete dl
mov byte [eax + 0x15], dl
mov edx, dword [edi]
and edx, 2
cmp edx, 2
sete dl
mov byte [eax + 0xe], dl
mov edx, dword [edi]
and edx, 1
dec edx
sete dl
mov byte [eax + 0x11], dl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x467db9
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.004044f8
ret