Function at 0x48ec70
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [edi + 1]
cmp eax, 9
ja case.default.0x48ebf8
jmp dword [eax*4 + 0x48f3a0]
push 0x624
push 0
push 0x690a38
jmp 0x48ec77
push 0x3c
push 0
push 0x690a40
jmp 0x48ec77
push 0x90
push 0
push 0x690a7c
jmp 0x48ec77
push 0x60
push 0
push 0x690b0c
jmp 0x48ec77
push 0x70
push 0
push 0x690b6c
jmp 0x48ec77
push 0x3c
push 0
push 0x690bdc
jmp 0x48ec77
push 0x14c
push 0
push 0x690c18
jmp 0x48ec77
push 0x48
push 0
push 0x690d64
jmp 0x48ec77
push 0x2c
push 0
push 0x690dac
jmp 0x48ec77
push 0x84
push 0
push 0x690dd8
call fcn.0052e6e0
add esp, 0xc
or ebx, 0xffffffff
cmp edi, ebx
je 0x48ec8e
test edi, edi
jne 0x48edad
mov edx, dword [0x68a8ac]
mov eax, dword [0x68a8a4]
mov ecx, dword [0x68a8a8]
mov dword [0x690a48], edx
mov edx, dword [0x68a8b8]
mov dword [0x690a54], edx
mov edx, dword [0x68a8c4]
mov dword [0x690a60], edx
mov edx, dword [0x68a8d0]
mov dword [0x690a40], eax
mov eax, dword [0x68a8b0]
mov dword [0x690a44], ecx
mov ecx, dword [0x68a8b4]
mov dword [0x690a6c], edx
xor edx, edx
cmp dword [0x68a8dc], edx
mov dword [0x690a4c], eax
mov eax, dword [0x68a8bc]
mov dword [0x690a50], ecx
mov ecx, dword [0x68a8c0]
setg dl
mov dword [0x690a58], eax
mov eax, dword [0x68a8c8]
mov dword [0x690a5c], ecx
mov ecx, dword [0x68a8cc]
mov dword [0x690a64], eax
mov eax, dword [0x68a8d4]
mov dword [0x690a68], ecx
mov ecx, dword [0x68a8d8]
mov dword [0x690a70], eax
mov eax, dword [0x68a6f4]
mov dword [0x690a74], ecx
mov ecx, dword [0x68b01c]
mov dword [0x690a78], edx
mov edx, dword [0x68b198]
add ecx, eax
sub eax, edx
sub eax, 0x32
cmp ecx, eax
jle 0x48ed62
mov eax, 0xffffffce
sub eax, edx
add ecx, eax
mov edx, dword [0x68b028]
add edx, dword [0x68afd8]
mov eax, 0x690834
mov dword [eax - 0x80], ebx
mov dword [eax], ecx
mov dword [eax + 0x80], edx
add eax, 4
sub ecx, 0x64
cmp eax, 0x6908b4
jl 0x48ed73
mov ecx, dword [0x6910a4]
mov eax, dword [0x6910a0]
cmp eax, ecx
je 0x48edad
lea ebx, [ebx]
mov dword [eax], 0
add eax, 4
cmp eax, ecx
jne 0x48eda0
cmp edi, ebx
je 0x48edba
cmp edi, 1
jne 0x48ee78
mov ecx, dword [0x68a8e0]
mov edx, dword [0x68a8e4]
mov eax, dword [0x68a8e8]
mov dword [0x690a7c], ecx
mov ecx, dword [0x68a8ec]
mov dword [0x690a88], edx
mov edx, dword [0x68a8f0]
mov dword [0x690a8c], eax
mov eax, dword [0x68a8f4]
mov dword [0x690a90], ecx
mov ecx, dword [0x68a8f8]
mov dword [0x690a94], edx
mov edx, dword [0x68a8fc]
mov dword [0x690a98], eax
mov eax, dword [0x68a900]
mov dword [0x690a9c], ecx
mov ecx, dword [0x68a904]
push 0x10
mov dword [0x690aa0], edx
mov edx, dword [0x68a908]
mov dword [0x690aa4], eax
mov eax, dword [0x68a90c]
mov dword [0x690aa8], ecx
mov ecx, dword [0x68a910]
push 0x68a914
push 0x690ab8
mov dword [0x690a80], 1
mov dword [0x690aac], edx
mov dword [0x690ab0], eax
mov dword [0x690ab4], ecx
call fcn.0052d5a0
mov edx, dword [0x68a924]
add esp, 0xc
mov dword [0x690b08], edx
cmp edi, ebx
je 0x48ee85
cmp edi, 2
jne 0x48ef89
mov eax, dword [0x68a928]
mov ecx, dword [0x68a92c]
mov edx, dword [0x68a930]
mov dword [0x690b0c], eax
mov eax, dword [0x68a934]
mov dword [0x690b10], ecx
mov ecx, dword [0x68a938]
mov dword [0x690b14], edx
mov edx, dword [0x68a93c]
mov dword [0x690b18], eax
mov eax, dword [0x68a940]
mov dword [0x690b1c], ecx
mov ecx, dword [0x68a944]
mov dword [0x690b20], edx
mov edx, dword [0x68a948]
mov dword [0x690b24], eax
mov eax, dword [0x68a94c]
mov dword [0x690b28], ecx
mov ecx, dword [0x68a950]
mov dword [0x690b2c], edx
mov edx, dword [0x68a954]
mov dword [0x690b34], eax
mov eax, dword [0x68a958]
mov dword [0x690b38], ecx
mov ecx, dword [0x68a95c]
mov dword [0x690b30], edx
mov edx, dword [0x68a960]
mov dword [0x690b44], eax
mov eax, dword [0x68a964]
mov dword [0x690b40], ecx
mov ecx, dword [0x68a968]
mov dword [0x690b48], edx
mov edx, dword [0x68a96c]
mov dword [0x690b4c], eax
mov eax, dword [0x68a970]
mov dword [0x690b50], ecx
mov ecx, dword [0x68a974]
mov dword [0x690b54], edx
mov edx, dword [0x68a978]
mov dword [0x690b58], eax
mov eax, dword [0x68a97c]
mov dword [0x690b5c], ecx
mov ecx, dword [0x68a980]
mov dword [0x690b60], edx
mov dword [0x690b64], eax
mov dword [0x690b68], ecx
cmp edi, ebx
je 0x48ef96
cmp edi, 3
jne 0x48f0eb
cmp dword [0x68a99c], 0x10
mov edx, dword [0x68a984]
mov eax, dword [0x68a988]
mov dword [0x690b6c], edx
jae 0x48efb5
mov eax, 0x68a988
push eax
push 0x20
push 0x690b70
call fcn.0052d46f
mov eax, dword [0x68a9a4]
mov ecx, dword [0x68a9a8]
mov edx, dword [0x68a9ac]
mov dword [0x690b94], ecx
mov ecx, dword [0x68a9cc]
mov dword [0x690b90], eax
mov eax, dword [0x68a9b0]
mov dword [0x690ba0], ecx
mov ecx, dword [0x68a9bc]
mov dword [0x690b9c], eax
mov eax, dword [0x68a9b8]
mov dword [0x690b98], edx
mov edx, dword [0x68a9b4]
mov dword [0x690bac], ecx
mov ecx, dword [0x68a9c8]
mov dword [0x690ba8], eax
mov eax, dword [0x68a9c4]
mov dword [0x690ba4], edx
mov edx, dword [0x68a9c0]
mov dword [0x690bb8], ecx
mov ecx, dword [0x68a9d8]
mov dword [0x690bb4], eax
mov eax, dword [0x68a9d4]
mov dword [0x690bb0], edx
mov edx, dword [0x68a9d0]
mov dword [0x690bc4], ecx
mov ecx, dword [0x68a9e4]
mov dword [0x690bc0], eax
mov eax, dword [0x68a9e0]
mov dword [0x690bbc], edx
mov edx, dword [0x68a9dc]
mov dword [0x690bd0], ecx
mov ecx, dword [0x68ba7c]
sub ecx, dword [0x68ba78]
mov dword [0x690bcc], eax
mov eax, dword [0x68a9ec]
mov dword [0x690bc8], edx
mov edx, dword [0x68a9e8]
mov dword [0x690bd8], eax
mov dword [0x690bd4], edx
mov eax, 0x78787879
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add esp, 0xc
xor esi, esi
test ecx, ecx
jle 0x48f0eb
mov edi, edi
push esi
call fcn.00495620
mov ecx, dword [0x68ba7c]
sub ecx, dword [0x68ba78]
mov eax, 0x78787879
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
add esp, 4
cmp esi, eax
jl 0x48f0c0
cmp edi, ebx
je 0x48f0f8
cmp edi, 4
jne 0x48f1c2
mov eax, dword [0x68a9f8]
mov ecx, dword [0x68a9f0]
mov edx, dword [0x68a9f4]
mov dword [0x690bdc], ecx
mov ecx, dword [0x68a9fc]
mov dword [0x690be4], eax
mov dword [0x690bf8], eax
mov eax, dword [0x68aa00]
mov dword [0x690be0], edx
mov edx, dword [0x68aa08]
mov dword [0x690be8], ecx
mov dword [0x690bfc], ecx
mov ecx, dword [0x68aa04]
mov dword [0x690bec], eax
mov eax, dword [0x68aa0c]
mov dword [0x690bf0], ecx
mov ecx, dword [0x68aa10]
mov dword [0x690bf4], edx
mov edx, dword [0x68aa14]
mov dword [0x690c00], eax
mov eax, dword [0x68aa18]
mov dword [0x690c04], ecx
mov ecx, dword [0x68aa1c]
mov dword [0x690c08], edx
mov edx, dword [0x68aa20]
mov dword [0x690c0c], eax
mov eax, dword [0x68aa24]
mov dword [0x690c10], ecx
mov dword [0x690c14], edx
mov dword [0x690934], eax
call fcn.00495690
mov ecx, dword [0x6910c4]
mov eax, dword [0x6910c0]
cmp eax, ecx
je 0x48f1c2
mov dword [eax], 1
add eax, 4
cmp eax, ecx
jne 0x48f1b5
cmp edi, ebx
je 0x48f1cb
cmp edi, 5
jne 0x48f1f0
mov ecx, dword [0x68bb58]
push 0x148
push ecx
push 0x690c18
call fcn.0052d5a0
mov edx, dword [0x68aa28]
add esp, 0xc
mov dword [0x690d60], edx
cmp edi, ebx
je 0x48f1fd
cmp edi, 6
jne 0x48f277
mov eax, dword [0x68aa2c]
mov ecx, dword [0x68aa30]
mov edx, dword [0x68aa34]
mov dword [0x690d64], eax
mov eax, dword [0x68aa38]
mov dword [0x690d68], ecx
mov ecx, dword [0x68aa3c]
mov dword [0x690d6c], edx
mov edx, dword [0x68aa40]
push 0x10
mov dword [0x690d70], eax
mov eax, dword [0x68aa44]
mov dword [0x6907b0], ecx
mov ecx, dword [0x68aa48]
mov dword [0x690d74], edx
mov edx, dword [0x68aa4c]
push 0x68aa50
push 0x690d9c
mov dword [0x690d78], eax
mov dword [0x690d7c], ecx
mov dword [0x690d80], edx
call fcn.0052d5a0
add esp, 0xc
cmp edi, ebx
je 0x48f280
cmp edi, 7
jne 0x48f2e2
mov eax, dword [0x68aa60]
push 0x10
push 0x68aa64
push 0x690db0
mov dword [0x690dac], eax
call fcn.0052d5a0
mov ecx, dword [0x68aa74]
mov edx, dword [0x68aa78]
mov eax, dword [0x68aa7c]
mov dword [0x690dc0], ecx
mov ecx, dword [0x68aa80]
mov dword [0x690dc4], edx
mov edx, dword [0x68aa84]
mov dword [0x690dc8], eax
mov eax, dword [0x68aa88]
add esp, 0xc
mov dword [0x690dcc], ecx
mov dword [0x690dd0], edx
mov dword [0x690dd4], eax
cmp edi, ebx
je 0x48f2eb
cmp edi, 8
jne 0x48f309
push 0x3c
push 0x68aa8c
push 0x690ddc
mov dword [0x690dd8], 1
call fcn.0052d5a0
add esp, 0xc
mov ecx, dword [0x68bb2c]
mov esi, dword [0x68bb28]
sub ecx, esi
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor ebx, ebx
test ecx, ecx
jle 0x48f379
xor edi, edi
mov eax, dword [ebp + 8]
cmp eax, 0xffffffff
je 0x48f33e
cmp dword [edi + esi + 4], eax
jne 0x48f355
mov edx, dword [edi + esi + 8]
mov eax, dword [edi + esi + 0x10]
mov ecx, dword [0x691060]
mov dword [ecx + edx*4], eax
mov esi, dword [0x68bb28]
mov ecx, dword [0x68bb2c]
sub ecx, esi
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
add edi, 0x48
cmp ebx, eax
jl 0x48f330
mov edi, dword [ebp + 8]
cmp edi, 0xffffffff
pop edi
pop esi
pop ebx
jne 0x48f39b
lea ecx, [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov edx, 1
cmp edx, dword [ebp - 0x10]
sbb eax, eax
inc eax
mov dword [0x6905a8], eax
mov esp, ebp
pop ebp
ret