Function at 0x485a20
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x40], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x485cfb
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x2c]
push eax
call sub.kernel32.dll_GetSystemInfo
movzx eax, word [ebp - 0x2c]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
movzx eax, word [ebp - 0xc]
mov dword [ebx + 0xc], eax
movzx eax, word [ebp - 0xa]
mov dword [ebx + 0x18], eax
lea eax, [ebp - 0x40]
push eax
movzx eax, word [ebp - 0xc]
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x54], 0
mov si, word [ebp - 0xa]
mov eax, esi
shr ax, 8
movzx eax, ax
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0
and si, 0xff
movzx eax, si
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0
lea edx, [ebp - 0x58]
mov ecx, 2
mov eax, 0x485d10
call fcn.0040a054
mov edx, dword [ebp - 0x40]
lea eax, [ebx + 0x14]
call fcn.004046e8
mov eax, dword [ebp - 0x14]
cmp eax, 0x24a
jg 0x485adf
je 0x485b0d
sub eax, 0x182
je 0x485aef
sub eax, 0x64
je 0x485afe
jmp 0x485b3a
sub eax, 0xfa0
je 0x485b1c
sub eax, 0x42a8
je 0x485b2b
jmp 0x485b3a
lea eax, [ebx + 0x10]
mov edx, 0x485d30
call fcn.004046e8
jmp 0x485b47
lea eax, [ebx + 0x10]
mov edx, 0x485d44
call fcn.004046e8
jmp 0x485b47
lea eax, [ebx + 0x10]
mov edx, 0x485d58
call fcn.004046e8
jmp 0x485b47
lea eax, [ebx + 0x10]
mov edx, 0x485d70
call fcn.004046e8
jmp 0x485b47
lea eax, [ebx + 0x10]
mov edx, 0x485d88
call fcn.004046e8
jmp 0x485b47
lea eax, [ebx + 0x10]
mov edx, 0x485d9c
call fcn.004046e8
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x1c], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00484464
fstp xword [ebp - 0x70]
wait
lea eax, [ebp - 0x70]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 3
lea edx, [ebp - 0x64]
xor ecx, ecx
mov eax, 0x485dac
call fcn.0040a054
mov edx, dword [ebp - 0x5c]
lea eax, [ebx + 0x20]
call fcn.004046e8
call fcn.00484508
mov byte [ebx + 0x24], al
cmp byte [ebx + 0x24], 0
je 0x485bed
mov edx, 4
lea eax, [ebp - 0x3c]
mov dword [eax], 0xffffffff
add eax, 4
dec edx
jne 0x485b94
lea eax, [ebp - 0x3c]
call fcn.0048451c
mov eax, dword [ebp - 0x3c]
shr eax, 0xc
and eax, 3
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 8
and eax, 0xf
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x3c]
shr eax, 4
and eax, 0xf
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x3c]
and eax, 0xf
mov dword [ebx + 0x30], eax
lea eax, [ebp - 0x7c]
call fcn.00484534
lea edx, [ebp - 0x7c]
lea eax, [ebx + 0x28]
mov ecx, 0xc
call fcn.00404904
mov eax, dword [ebx + 0x3c]
call fcn.004038a0
mov dl, 1
mov eax, dword [0x4138f0]
call fcn.00403870
mov dword [ebx + 0x3c], eax
mov dl, 1
mov eax, dword [0x42acb4]
call fcn.0042ad84
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x485cc6
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000002
mov eax, dword [ebp - 8]
call fcn.0042ae24
mov esi, dword [ebx + 8]
dec esi
test esi, esi
jl 0x485cb0
inc esi
mov dword [ebp - 4], 0
lea edx, [ebp - 0x84]
mov eax, dword [ebp - 4]
call fcn.00408b4c
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x80]
mov edx, 0x485db8
call fcn.004049bc
mov edx, dword [ebp - 0x80]
xor ecx, ecx
mov eax, dword [ebp - 8]
call fcn.0042ae88
test al, al
je 0x485caa
mov edx, 0x485df0
mov eax, dword [ebp - 8]
call fcn.0042b2a4
test al, al
je 0x485ca2
lea ecx, [ebp - 0x88]
mov edx, 0x485df0
mov eax, dword [ebp - 8]
call fcn.0042b154
mov edx, dword [ebp - 0x88]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 8]
call fcn.0042adf4
inc dword [ebp - 4]
dec esi
jne 0x485c3e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x485ccd
mov eax, dword [ebp - 8]
call fcn.004038a0
ret