Function at 0x10029d62
Capabilities:
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
mov eax, dword [0x10086084]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push esi
xor eax, eax
mov dword [esp + 0x18], edx
push edi
push 8
pop edi
push eax
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov esi, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x50], 0x11
mov byte [esp + 0x54], al
mov dword [esp + 0x58], 0x12
mov byte [esp + 0x5c], al
mov dword [esp + 0x60], edi
mov byte [esp + 0x64], al
mov dword [esp + 0x68], 9
mov byte [esp + 0x6c], al
mov dword [esp + 0x70], 0x1c
mov byte [esp + 0x74], al
mov dword [esp + 0x24], eax
call fcn.10030a2b
mov ebx, dword [esp + 0x10]
mov eax, ebx
and eax, edi
mov dword [esp + 0x14], eax
jne 0x10029e11
push 5
lea edx, [esp + 0x50]
mov ecx, ebx
call fcn.10039af9
mov edi, eax
test edi, edi
jns 0x10029e07
push edi
push 0x35c
mov ecx, 0x10005b3c
call fcn.1003a254
jmp 0x10029e13
mov dword [esp + 0x20], 1
jmp 0x10029e13
xor edi, edi
test ebx, 0x1000000
je 0x10029e5d
test ebx, 0x8000000
je 0x10029e5d
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x10]
and dword [esp + 0x10], 0
mov ecx, esi
push eax
push 1
mov edx, dword [edx]
call fcn.10034ed3
test eax, eax
jns 0x10029e52
push eax
push 0x372
mov ecx, 0x10005b3c
call fcn.1003a254
jmp 0x10029e5d
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.100316bb
test edi, edi
js 0x1002a074
push 9
pop ecx
xor eax, eax
lea edi, [esp + 0x28]
rep stosd dword es:[edi], eax
xor edx, edx
mov ecx, esi
call fcn.1003122b
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, ebx
and eax, 0x8000000
mov dword [esp + 0x10], eax
je 0x10029ee5
cmp dword [esp + 0x14], 0
jne 0x10029ee5
xor edx, edx
mov edi, edx
mov ecx, edx
mov eax, edx
test esi, esi
je 0x10029ea7
mov eax, dword [esi + 0x2c]
add edi, eax
adc ecx, edx
push ecx
push edx
mov dword [esp + 0x2c], ecx
mov ecx, esi
push edx
mov edx, 0x9478
call fcn.1002894a
mov ecx, dword [0x100866bc]
mov eax, dword [0x100866b8]
push ecx
push eax
push ecx
push eax
push dword [esp + 0x34]
mov ecx, esi
push edi
call fcn.1001bcc7
xor edx, edx
mov ecx, esi
push 1
inc edx
call fcn.100313f3
mov eax, dword [esp + 0x1c]
mov ecx, esi
push ebx
push eax
push eax
push dword [eax]
mov edx, dword [eax]
call fcn.1002bdac
mov ecx, esi
mov edi, eax
call fcn.10030c3b
test eax, eax
je 0x10029f16
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.1003ee78
mov edi, eax
test edi, edi
js 0x10029fe9
cmp dword [esp + 0x10], 0
jne 0x10029f6a
xor eax, eax
test esi, esi
je 0x10029f2e
mov eax, dword [esi + 0x28]
push ecx
push eax
push 0
mov edx, 0x947b
mov ecx, esi
call fcn.1002894a
push ecx
push 0
push 0
mov edx, 0x947c
mov ecx, esi
call fcn.1002894a
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10029fe9
push ecx
push eax
push eax
mov edx, 0x9478
mov ecx, esi
call fcn.1002894a
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10029fe9
mov ecx, 0x9000000
mov eax, ebx
and eax, ecx
cmp eax, ecx
je 0x10029fe9
mov ecx, dword [0x100866bc]
xor edx, edx
mov eax, dword [0x100866b8]
inc edx
push ecx
push eax
push ecx
push eax
mov ecx, esi
call fcn.100358cb
push edx
push eax
mov ecx, esi
call fcn.1001bcc7
xor edx, edx
mov ecx, esi
push 1
inc edx
call fcn.100313f3
push dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov ecx, esi
call fcn.1002c8c9
mov edi, eax
test edi, edi
jns 0x10029fca
push edi
push 0x3db
jmp 0x10029fdd
mov ecx, esi
call fcn.100311fe
mov edi, eax
test edi, edi
jns 0x10029ffc
push edi
push 0x3e1
mov ecx, 0x10005b3c
call fcn.1003a254
jmp 0x10029ffc
cmp dword [esp + 0x10], 0
je 0x10029ffc
xor edx, edx
mov ecx, esi
push 0
inc edx
call fcn.100313f3
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1002a00d
mov edx, eax
mov ecx, esi
call fcn.1003ed6c
test edi, edi
js 0x1002a025
mov eax, dword [esp + 0x1c]
mov ecx, esi
push ebx
push eax
push eax
push dword [eax]
mov edx, dword [eax]
call fcn.1002c99c
mov edi, eax
xor edx, edx
mov ecx, esi
push 0
inc edx
call fcn.100313f3
xor edx, edx
mov ecx, esi
call fcn.1003122b
test edi, edi
js 0x1002a074
cmp dword [esp + 0x14], edx
jne 0x1002a054
push ecx
push edx
push 0x64
mov edx, 0x9478
mov ecx, esi
call fcn.1002894a
cmp dword [esp + 0x10], 0
jne 0x1002a074
xor eax, eax
test esi, esi
je 0x1002a064
mov eax, dword [esi + 0x28]
push ecx
push eax
push 0
mov edx, 0x947c
mov ecx, esi
call fcn.1002894a
cmp dword [esp + 0x20], 0
je 0x1002a08f
test ebx, 0x20000
jne 0x1002a08f
push 5
pop edx
lea ecx, [esp + 0x4c]
call fcn.10039c22
mov ecx, dword [esp + 0x74]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10083b20
mov esp, ebp
pop ebp
ret