Function at 0x1002de40
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
mov eax, dword [0x101a49d4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, ecx
push 0
push 0x1018ed8c
mov dword [edi], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
call fcn.10051fd0
lea eax, [ebp - 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x17
push str.Processor_Architecture
mov ecx, edi
call fcn.100520e0
movzx eax, word [ebp - 0xb8]
test eax, eax
je 0x1002dec1
cmp eax, 5
je 0x1002deba
cmp eax, 9
je 0x1002deb3
mov eax, str.Not_known_n
mov ecx, 0xa
jmp 0x1002decb
mov eax, str.x64_n
jmp 0x1002dec6
mov eax, str.ARM_n
jmp 0x1002dec6
mov eax, str.x86_n
mov ecx, 4
push ecx
push eax
mov ecx, edi
call fcn.100520e0
push 1
push 0x1018eeb0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 7
call fcn.10051fd0
mov ecx, dword [ebp - 0xa4]
lea esi, [ebp - 6]
mov eax, 0xcccccccd
sub esi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [esi], cx
mov ecx, edx
test ecx, ecx
jne 0x1002df01
lea eax, [ebp - 6]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], 7
cmp esi, eax
je 0x1002df43
sub eax, esi
lea ecx, [ebp - 0x60]
sar eax, 1
push eax
push esi
call fcn.10051fd0
push 0x15
push 0x1018eeb4
push ecx
lea ecx, [ebp - 0x60]
call fcn.1005d830
mov esi, eax
mov dword [ebp - 0x90], 0
push 0x18
lea eax, [ebp - 0x90]
mov dword [ebp - 0x80], 0
push esi
push eax
mov dword [ebp - 0x7c], 0
call fcn.1011b630
add esp, 0xc
mov dword [esi + 0x10], 0
xor eax, eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x48]
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x94]
call fcn.1005d9f0
cmp dword [ebp - 0x34], 8
lea eax, [ebp - 0x48]
push dword [ebp - 0x38]
cmovae eax, dword [ebp - 0x48]
mov ecx, edi
push eax
call fcn.100520e0
mov edx, dword [ebp - 0x34]
cmp edx, 8
jb 0x1002dffb
mov ecx, dword [ebp - 0x48]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002dff1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e2bd
push edx
push ecx
call fcn.1011a823
add esp, 8
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
cmp edx, 8
jb 0x1002e04c
mov ecx, dword [ebp - 0x90]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e042
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e2bd
push edx
push ecx
call fcn.1011a823
add esp, 8
mov edx, dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 7
mov word [ebp - 0x90], ax
cmp edx, 8
jb 0x1002e09d
mov ecx, dword [ebp - 0x60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e093
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e2bd
push edx
push ecx
call fcn.1011a823
add esp, 8
mov edx, dword [ebp - 0x64]
xor eax, eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
cmp edx, 8
jb 0x1002e0eb
mov ecx, dword [ebp - 0x78]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e0e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e2bd
push edx
push ecx
call fcn.1011a823
add esp, 8
mov ecx, dword [ebp - 0xb4]
lea esi, [ebp - 6]
mov eax, 0xcccccccd
sub esi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [esi], cx
mov ecx, edx
test ecx, ecx
jne 0x1002e0f4
lea eax, [ebp - 6]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], 7
cmp esi, eax
je 0x1002e136
sub eax, esi
lea ecx, [ebp - 0x78]
sar eax, 1
push eax
push esi
call fcn.10051fd0
push 0xa
push str.Page_Size
push ecx
lea ecx, [ebp - 0x78]
call fcn.1005d830
mov esi, eax
mov dword [ebp - 0x60], 0
push 0x18
lea eax, [ebp - 0x60]
mov dword [ebp - 0x50], 0
push esi
push eax
mov dword [ebp - 0x4c], 0
call fcn.1011b630
add esp, 0xc
mov dword [esi + 0x10], 0
xor eax, eax
mov dword [esi + 0x14], 7
lea ecx, [ebp - 0x60]
mov word [esi], ax
push 7
push str._bytes_n
call fcn.100520e0
mov esi, eax
mov dword [ebp - 0x48], 0
push 0x18
lea eax, [ebp - 0x48]
mov dword [ebp - 0x38], 0
push esi
push eax
mov dword [ebp - 0x34], 0
call fcn.1011b630
xor eax, eax
mov dword [esi + 0x10], 0
add esp, 0xc
mov word [esi], ax
mov dword [esi + 0x14], 7
lea eax, [ebp - 0x48]
cmp dword [ebp - 0x34], 8
mov ecx, edi
push dword [ebp - 0x38]
cmovae eax, dword [ebp - 0x48]
push eax
call fcn.100520e0
mov edx, dword [ebp - 0x34]
cmp edx, 8
jb 0x1002e217
mov ecx, dword [ebp - 0x48]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e20d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e2c2
push edx
push ecx
call fcn.1011a823
add esp, 8
mov edx, dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
cmp edx, 8
jb 0x1002e261
mov ecx, dword [ebp - 0x60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e257
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e2c2
push edx
push ecx
call fcn.1011a823
add esp, 8
mov edx, dword [ebp - 0x64]
xor eax, eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
cmp edx, 8
jb 0x1002e2ab
mov ecx, dword [ebp - 0x78]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e2a1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e2c2
push edx
push ecx
call fcn.1011a823
add esp, 8
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
xor ecx, ebp
pop esi
call fcn.1011a2e1
mov esp, ebp
pop ebp
ret
call fcn.10125fc5
call fcn.10125fc5
int3