Function at 0x402e90
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x13c
mov eax, dword [0x487fb0]
xor eax, esp
mov dword [esp + 0x138], eax
push ebx
mov ebx, 1
test byte [0x491594], bl
jne 0x402ed4
or dword [0x491594], ebx
push str.RtlGetVersion
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x491590], eax
push 0x110
lea eax, [esp + 0x30]
push 0
push eax
mov dword [esp + 0x34], 0
call fcn.00451da0
xor eax, eax
add esp, 0xc
lea ecx, [esp + 4]
push ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov eax, dword [esp + 4]
cmp ax, 9
je 0x402f3f
mov dword [0x48f4e8], 0
cmp ax, 6
jne 0x402f45
mov dword [0x48f4e8], ebx
mov eax, dword [0x491590]
test eax, eax
je 0x403199
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], 0x114
call eax
test eax, eax
jne 0x403199
mov eax, dword [esp + 0x2c]
cmp eax, 5
jne 0x402fb0
cmp dword [esp + 0x30], ebx
jne 0x4031b1
mov eax, dword [esp + 0x34]
sub eax, 0xa28
neg eax
sbb eax, eax
and eax, 0xfff82ddb
add eax, 0x7d258
mov dword [0x48f4ec], eax
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
cmp eax, 6
jne 0x40309c
mov eax, dword [esp + 0x30]
cmp eax, ebx
jne 0x40301e
mov eax, dword [esp + 0x34]
cmp eax, 0x1db1
jne 0x402fee
mov eax, ebx
mov dword [0x48f4ec], 0x96c81
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
sub eax, 0x1db0
neg eax
sbb eax, eax
and eax, 0xfff693bd
add eax, 0x96c80
mov dword [0x48f4ec], eax
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
cmp eax, 2
jne 0x40305b
mov ecx, dword [esp + 0x34]
sub ecx, 0x23f0
neg ecx
sbb ecx, ecx
and ecx, 0xfff6666e
add ecx, 0x999d0
mov eax, ebx
mov dword [0x48f4ec], ecx
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
cmp eax, 3
jne 0x4031b1
mov edx, dword [esp + 0x34]
sub edx, 0x2580
neg edx
sbb edx, edx
and edx, 0xfff63dcf
add edx, 0x9c270
mov eax, ebx
mov dword [0x48f4ec], edx
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
cmp eax, 0xa
jne 0x4031b1
cmp dword [esp + 0x30], 0
jne 0x4031b1
mov eax, dword [esp + 0x34]
cmp eax, 0x2800
jne 0x4030dd
mov eax, ebx
mov dword [0x48f4ec], 0x98be80
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
cmp eax, 0x295a
jne 0x403106
mov eax, ebx
mov dword [0x48f4ec], 0x98bfda
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
cmp eax, 0x3839
jne 0x40312f
mov eax, ebx
mov dword [0x48f4ec], 0x98ceb9
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
cmp eax, 0x3ad7
jne 0x403158
mov eax, ebx
mov dword [0x48f4ec], 0x98d157
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
cmp eax, 0x3fab
jne 0x403181
mov eax, ebx
mov dword [0x48f4ec], 0x98d62b
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
sub eax, 0x42ee
neg eax
sbb eax, eax
and eax, 0xff6726f6
add eax, 0x98d96e
mov dword [0x48f4ec], eax
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0044f3b0
add esp, 0x13c
ret
mov ecx, dword [esp + 0x13c]
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0044f3b0
add esp, 0x13c
ret