Function at 0x8042de
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push esi
mov esi, 0x8d13ac
push edi
mov ecx, esi
call fcn.0080a961
lea eax, [ebp - 0x148]
mov byte [0x8d13de], 0
push eax
mov dword [ebp - 0x148], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp - 0x144]
mov ecx, esi
mov dword [0x8d13a0], eax
mov eax, dword [ebp - 0x140]
mov dword [0x8d13a4], eax
mov eax, dword [ebp - 0x13c]
mov dword [0x8d13a8], eax
lea eax, [ebp - 0x134]
push eax
call fcn.00806b57
xor eax, eax
or ecx, 0xffffffff
cmp dword [0x8d13b0], eax
ja 0x843617
mov eax, ecx
cmp eax, ecx
jne 0x843656
push ecx
mov esi, 0x8d13ac
push 0
mov ecx, esi
call fcn.008093b2
push 0x89cb64
mov ecx, esi
call fcn.008037a0
mov eax, dword [0x8d13a0]
xor edx, edx
mov word [0x8d13d9], dx
mov dword [0x8d13bc], edx
mov dword [0x8d13c0], edx
mov dword [0x8d13c4], edx
mov dword [0x8d13c8], edx
mov dword [0x8d13cc], edx
mov dword [0x8d13d0], edx
mov dword [0x8d13d4], edx
mov byte [0x8d13d8], dl
push 1
pop ecx
sub eax, 5
je 0x8437df
sub eax, ecx
jne 0x84365d
mov eax, dword [0x8d13a4]
mov byte [0x8d13bd], cl
mov byte [0x8d13bf], cl
test eax, eax
je 0x843726
cmp eax, ecx
je 0x84374d
cmp eax, 2
jne 0x843791
mov byte [0x8d13c7], cl
mov byte [0x8d13c5], cl
mov byte [0x8d13c1], cl
mov byte [0x8d13c9], cl
cmp byte [ebp - 0x2e], cl
jne 0x843780
mov byte [0x8d13c8], cl
lea eax, [ebp - 4]
mov dword [ebp - 4], edx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
xor edx, edx
inc edx
cmp dword [ebp - 4], edx
jne 0x804494
mov byte [0x8d13da], dl
push 9
xor eax, eax
lea edi, [ebp - 0x2c]
pop ecx
rep stosd dword es:[edi], eax
test dl, dl
je 0x843824
push 0x89cbe0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x80449c
push str.GetNativeSystemInfo
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x80449c
lea ecx, [ebp - 0x2c]
push ecx
call eax
test esi, esi
je 0x804481
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ax, word [ebp - 0x2c]
pop edi
mov word [0x8d13dc], ax
mov eax, 0x8d13a0
pop esi
leave
ret
mov dl, byte [0x8d13da]
jmp 0x80443d
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x804476
mov esi, dword [0x8d13ac]
xor edi, edi
push 0x20
xor edx, edx
movzx esi, word [esi + eax*2]
mov dword [ebp - 8], esi
pop esi
cmp word [ebp - 8], si
jne 0x843632
inc edx
movzx esi, word [edi*2 + 0x89cb66]
inc edi
test si, si
jne 0x84362b
test edx, edx
je 0x804355
inc eax
cmp eax, dword [0x8d13b0]
jb 0x843617
jmp 0x804353
mov ecx, eax
jmp 0x80435d
sub eax, 4
jne 0x80441b
mov byte [0x8d13bd], cl
mov byte [0x8d13bf], cl
mov byte [0x8d13cb], cl
mov byte [0x8d13c9], cl
mov byte [0x8d13c7], cl
mov byte [0x8d13c5], cl
mov byte [0x8d13c1], cl
mov byte [0x8d13cd], cl
mov byte [0x8d13cf], cl
mov byte [0x8d13d1], cl
cmp dword [0x8d13a4], edx
jne 0x80441b
cmp byte [ebp - 0x2e], cl
jne 0x8436db
cmp dword [ebp - 0x13c], 0x55ec
jae 0x8436ca
mov byte [0x8d13d0], cl
jmp 0x80441b
mov byte [0x8d13d3], cl
mov byte [0x8d13d2], cl
jmp 0x80441b
cmp dword [ebp - 0x13c], 0x44ff
jae 0x8436f8
mov byte [0x8d13d5], cl
mov byte [0x8d13d4], cl
jmp 0x80441b
cmp dword [ebp - 0x13c], 0x4f7c
jae 0x843715
mov byte [0x8d13d7], cl
mov byte [0x8d13d6], cl
jmp 0x80441b
mov byte [0x8d13d9], cl
mov byte [0x8d13d8], cl
jmp 0x80441b
mov byte [0x8d13c1], cl
cmp byte [ebp - 0x2e], cl
jne 0x84373c
mov byte [0x8d13c0], cl
jmp 0x80441b
mov byte [0x8d13c3], cl
mov byte [0x8d13c2], cl
jmp 0x80441b
mov byte [0x8d13c1], cl
mov byte [0x8d13c3], cl
mov byte [0x8d13c5], cl
cmp byte [ebp - 0x2e], cl
jne 0x84376f
mov byte [0x8d13c4], cl
jmp 0x80441b
mov byte [0x8d13c7], cl
mov byte [0x8d13c6], cl
jmp 0x80441b
mov byte [0x8d13cb], cl
mov byte [0x8d13ca], cl
jmp 0x80441b
cmp eax, 3
jne 0x80441b
mov byte [0x8d13cb], cl
mov byte [0x8d13c9], cl
mov byte [0x8d13c7], cl
mov byte [0x8d13c5], cl
mov byte [0x8d13c1], cl
mov byte [0x8d13cd], cl
cmp byte [ebp - 0x2e], cl
jne 0x8437ce
mov byte [0x8d13cc], cl
jmp 0x80441b
mov byte [0x8d13cf], cl
mov byte [0x8d13ce], cl
jmp 0x80441b
mov eax, dword [0x8d13a4]
cmp eax, ecx
jne 0x843806
mov byte [0x8d13bd], cl
mov byte [0x8d13bc], cl
mov al, byte [ebp - 0x30]
shr al, 6
and al, cl
mov byte [0x8d13de], al
jmp 0x80441b
cmp eax, 2
jne 0x8437f4
mov byte [0x8d13bd], cl
mov byte [0x8d13bf], cl
cmp byte [ebp - 0x2e], cl
je 0x8437ee
mov byte [0x8d13be], cl
jmp 0x8437f4
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x804481