Function at 0x10102dc0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0x7c], ecx
cmp dword [ebp - 0x7c], 0xa
ja case.0x10102dee.4
mov edx, dword [ebp - 0x7c]
jmp dword [edx*4 + 0x101031b2]
push 0
push 0
mov ecx, dword [ebp + 8]
call fcn.100014c0
mov dword [ebp - 0x80], str.IA32
mov eax, dword [ebp - 0x80]
add eax, 1
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x80]
mov dl, byte [ecx]
mov byte [ebp - 0x85], dl
add dword [ebp - 0x80], 1
cmp byte [ebp - 0x85], 0
jne 0x10102e14
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x8c]
push ecx
push str.IA32
mov ecx, dword [ebp + 8]
call fcn.100020c0
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
jmp 0x101031ae
push 0
push 0
mov ecx, dword [ebp + 8]
call fcn.100014c0
mov dword [ebp - 0x90], str.MIPS
mov eax, dword [ebp - 0x90]
add eax, 1
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x90]
mov dl, byte [ecx]
mov byte [ebp - 0x95], dl
add dword [ebp - 0x90], 1
cmp byte [ebp - 0x95], 0
jne 0x10102e85
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
push ecx
push str.MIPS
mov ecx, dword [ebp + 8]
call fcn.100020c0
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
jmp 0x101031ae
push 0
push 0
mov ecx, dword [ebp + 8]
call fcn.100014c0
mov dword [ebp - 0xa0], str.ALPHA
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xa0]
mov dl, byte [ecx]
mov byte [ebp - 0xa5], dl
add dword [ebp - 0xa0], 1
cmp byte [ebp - 0xa5], 0
jne 0x10102eff
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
push ecx
push str.ALPHA
mov ecx, dword [ebp + 8]
call fcn.100020c0
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
jmp 0x101031ae
push 0
push 0
mov ecx, dword [ebp + 8]
call fcn.100014c0
mov dword [ebp - 0xb0], 0x10169740
mov eax, dword [ebp - 0xb0]
add eax, 1
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb0]
mov dl, byte [ecx]
mov byte [ebp - 0xb5], dl
add dword [ebp - 0xb0], 1
cmp byte [ebp - 0xb5], 0
jne 0x10102f79
mov eax, dword [ebp - 0xb0]
sub eax, dword [ebp - 0xb4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
push ecx
push 0x10169740
mov ecx, dword [ebp + 8]
call fcn.100020c0
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
jmp 0x101031ae
push 0
push 0
mov ecx, dword [ebp + 8]
call fcn.100014c0
mov dword [ebp - 0xc0], str.IA64
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc0]
mov dl, byte [ecx]
mov byte [ebp - 0xc5], dl
add dword [ebp - 0xc0], 1
cmp byte [ebp - 0xc5], 0
jne 0x10102ff3
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
push ecx
push str.IA64
mov ecx, dword [ebp + 8]
call fcn.100020c0
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
jmp 0x101031ae
push 0
push 0
mov ecx, dword [ebp + 8]
call fcn.100014c0
mov dword [ebp - 0xd0], str.IA64_32
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd0]
mov dl, byte [ecx]
mov byte [ebp - 0xd5], dl
add dword [ebp - 0xd0], 1
cmp byte [ebp - 0xd5], 0
jne 0x1010306d
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
push ecx
push str.IA64_32
mov ecx, dword [ebp + 8]
call fcn.100020c0
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
jmp 0x101031ae
push 0
push 0
mov ecx, dword [ebp + 8]
call fcn.100014c0
mov dword [ebp - 0xe0], str.AMD64
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe0]
mov dl, byte [ecx]
mov byte [ebp - 0xe5], dl
add dword [ebp - 0xe0], 1
cmp byte [ebp - 0xe5], 0
jne 0x101030e7
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0xe4]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
push ecx
push str.AMD64
mov ecx, dword [ebp + 8]
call fcn.100020c0
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
jmp 0x101031ae
push 0
push 0
mov ecx, dword [ebp + 8]
call fcn.100014c0
mov dword [ebp - 0xf0], str.Unknown
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf0]
mov dl, byte [ecx]
mov byte [ebp - 0xf5], dl
add dword [ebp - 0xf0], 1
cmp byte [ebp - 0xf5], 0
jne 0x1010315e
mov eax, dword [ebp - 0xf0]
sub eax, dword [ebp - 0xf4]
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
push ecx
push str.Unknown
mov ecx, dword [ebp + 8]
call fcn.100020c0
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
mov esp, ebp
pop ebp
ret