Function at 0x45a40c
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, 0x47c858
xor eax, eax
push ebp
push 0x45a66a
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x24]
mov edx, 0x24
call fcn.00406f58
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.004598b4
mov ebx, eax
mov byte [esi + 0x34], bl
test bl, bl
je 0x45a64f
mov eax, esi
call fcn.00459910
mov dword [esi + 0x1c], eax
mov eax, esi
call fcn.0045a320
call fcn.004028d0
mov dword [esi + 0x30], eax
mov eax, esi
call fcn.0045992c
mov dword [esi + 0x28], eax
mov eax, esi
call fcn.004598c8
xor eax, eax
mov al, byte [0x47c854]
mov dword [esi + 0x28], eax
xor eax, eax
mov al, byte [0x47c851]
mov dword [esi + 0x24], eax
xor eax, eax
mov al, byte [0x47c852]
mov dword [esi + 0x10], eax
xor eax, eax
mov al, byte [0x47c853]
mov dword [esi + 0x20], eax
lea edx, [ebp - 0x28]
mov eax, esi
call fcn.004599b0
mov edx, dword [ebp - 0x28]
lea eax, [esi + 8]
call fcn.00403a88
lea edx, [ebp - 0x2c]
mov eax, esi
call fcn.00459a68
mov edx, dword [ebp - 0x2c]
lea eax, [esi + 4]
call fcn.00403a88
lea edx, [ebp - 0x30]
mov eax, esi
call fcn.0045a34c
mov edx, dword [ebp - 0x30]
lea eax, [esi + 0xc]
call fcn.00403a88
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 0x45a671
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.00403a58
ret