Function at 0x10010bf0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100713d8
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x10088d90]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa4], ecx
cmp dword [0x1008be78], 0
je 0x10010eda
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x10], 0
jmp 0x10010c66
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], edx
push 0x1c
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [0x1008be78]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
cmp eax, 0x1c
jne 0x10010eda
lea ecx, [ebp - 0x78]
call fcn.10010ef0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x80]
call fcn.10011010
cmp dword [ebp - 0x28], 0x1000
jne 0x10010ec6
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x78]
call fcn.10010fc0
lea ecx, [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
push 0
lea ecx, [ebp - 0x78]
call fcn.10010fe0
push eax
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [0x1008be78]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [ebp - 0x88]
push edx
lea ecx, [ebp - 0x78]
call fcn.10010fc0
cmp dword [ebp - 0x88], 0
ja 0x10010d09
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.10010f60
jmp 0x10010c5d
mov byte [ebp - 0x81], 1
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x90], 0
jmp 0x10010d35
mov eax, dword [ebp - 0x90]
add eax, 1
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x8c]
jge 0x10010ec6
mov dword [ebp - 0x94], 0
jmp 0x10010d62
mov edx, dword [ebp - 0x94]
add edx, 1
mov dword [ebp - 0x94], edx
lea ecx, [ebp - 0x78]
call fcn.100027f0
sub eax, 1
cmp dword [ebp - 0x94], eax
jae 0x10010ec1
mov byte [ebp - 0x81], 1
mov eax, dword [ebp - 0x94]
push eax
lea ecx, [ebp - 0x78]
call fcn.10010fe0
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp + 8]
mov edx, dword [eax + edx*4]
movsx eax, byte [edx]
cmp ecx, eax
jne 0x10010dce
mov ecx, dword [ebp - 0x94]
add ecx, 1
push ecx
lea ecx, [ebp - 0x78]
call fcn.10010fe0
movsx edx, byte [eax]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
movsx ecx, byte [eax + 2]
cmp edx, ecx
je 0x10010dd0
jmp 0x10010d53
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x9c], 0
jmp 0x10010df7
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4]
push eax
call fcn.10054780
add esp, 4
cmp dword [ebp - 0x9c], eax
jae 0x10010e93
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x9c]
movsx edx, byte [eax + ecx]
cmp edx, 0x2e
jne 0x10010e31
jmp 0x10010de8
mov eax, dword [ebp - 0x98]
push eax
lea ecx, [ebp - 0x78]
call fcn.10010fe0
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp + 8]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 0x9c]
movsx edx, byte [edx + eax]
cmp ecx, edx
je 0x10010e66
mov byte [ebp - 0x81], 0
jmp 0x10010e93
mov eax, dword [ebp - 0x98]
add eax, 1
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x78]
call fcn.100027f0
cmp dword [ebp - 0x98], eax
jb 0x10010e8e
mov byte [ebp - 0x81], 0
jmp 0x10010e93
jmp 0x10010de8
movzx ecx, byte [ebp - 0x81]
test ecx, ecx
je 0x10010ebc
mov byte [ebp - 0x9d], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.10010f60
mov al, byte [ebp - 0x9d]
jmp 0x10010edc
jmp 0x10010d53
jmp 0x10010d26
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.10010f60
jmp 0x10010c5d
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 4