Function at 0x404e68
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push esi
mov esi, 0x4d239c
push edi
mov ecx, esi
call fcn.0040ae03
lea eax, [ebp - 0x148]
mov byte [0x4d23ca], 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 [0x4d2390], eax
mov eax, dword [ebp - 0x140]
mov dword [0x4d2394], eax
mov eax, dword [ebp - 0x13c]
mov dword [0x4d2398], eax
lea eax, [ebp - 0x134]
push eax
call fcn.00407467
xor eax, eax
or ecx, 0xffffffff
cmp dword [0x4d23a0], eax
ja 0x4440e6
mov eax, ecx
cmp eax, ecx
jne 0x444125
push ecx
mov esi, 0x4d239c
push 0
mov ecx, esi
call fcn.00408635
push 0x49db24
mov ecx, esi
call fcn.0040699d
mov eax, dword [0x4d2390]
xor edx, edx
mov word [0x4d23c5], dx
mov dword [0x4d23ac], edx
mov dword [0x4d23b0], edx
mov dword [0x4d23b4], edx
mov dword [0x4d23b8], edx
mov dword [0x4d23bc], edx
mov dword [0x4d23c0], edx
mov byte [0x4d23c4], dl
push 1
pop ecx
sub eax, 5
je 0x444259
sub eax, ecx
je 0x44415a
sub eax, 4
jne 0x404fa6
mov byte [0x4d23ad], cl
mov byte [0x4d23af], cl
mov byte [0x4d23bb], cl
mov byte [0x4d23b9], cl
mov byte [0x4d23b7], cl
mov byte [0x4d23b5], cl
mov byte [0x4d23b1], cl
mov byte [0x4d23bd], cl
mov byte [0x4d23bf], cl
cmp dword [0x4d2394], edx
jne 0x404fa6
mov byte [0x4d23c1], cl
cmp byte [ebp - 0x2e], cl
jne 0x44412c
mov byte [0x4d23c0], 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 0x40501f
mov byte [0x4d23c6], dl
push 9
xor eax, eax
lea edi, [ebp - 0x2c]
pop ecx
rep stosd dword es:[edi], eax
test dl, dl
je 0x44429e
push 0x49dbf4
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x405027
push str.GetNativeSystemInfo
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x405027
lea ecx, [ebp - 0x2c]
push ecx
call eax
test esi, esi
je 0x40500c
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ax, word [ebp - 0x2c]
pop edi
mov word [0x4d23c8], ax
mov eax, 0x4d2390
pop esi
leave
ret
mov dl, byte [0x4d23c6]
jmp 0x404fc8
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x405001
mov esi, dword [0x4d239c]
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 0x444101
inc edx
movzx esi, word [edi*2 + 0x49db26]
inc edi
test si, si
jne 0x4440fa
test edx, edx
je 0x404edf
inc eax
cmp eax, dword [0x4d23a0]
jb 0x4440e6
jmp 0x404edd
mov ecx, eax
jmp 0x404ee7
cmp dword [ebp - 0x13c], 0x44ff
jae 0x444149
mov byte [0x4d23c3], cl
mov byte [0x4d23c2], cl
jmp 0x404fa6
mov byte [0x4d23c5], cl
mov byte [0x4d23c4], cl
jmp 0x404fa6
mov eax, dword [0x4d2394]
mov byte [0x4d23ad], cl
mov byte [0x4d23af], cl
test eax, eax
jne 0x444196
mov byte [0x4d23b1], cl
cmp byte [ebp - 0x2e], cl
jne 0x444185
mov byte [0x4d23b0], cl
jmp 0x404fa6
mov byte [0x4d23b3], cl
mov byte [0x4d23b2], cl
jmp 0x404fa6
cmp eax, ecx
jne 0x4441cd
mov byte [0x4d23b1], cl
mov byte [0x4d23b3], cl
mov byte [0x4d23b5], cl
cmp byte [ebp - 0x2e], cl
jne 0x4441bc
mov byte [0x4d23b4], cl
jmp 0x404fa6
mov byte [0x4d23b7], cl
mov byte [0x4d23b6], cl
jmp 0x404fa6
cmp eax, 2
jne 0x44420b
mov byte [0x4d23b7], cl
mov byte [0x4d23b5], cl
mov byte [0x4d23b1], cl
mov byte [0x4d23b9], cl
cmp byte [ebp - 0x2e], cl
jne 0x4441fa
mov byte [0x4d23b8], cl
jmp 0x404fa6
mov byte [0x4d23bb], cl
mov byte [0x4d23ba], cl
jmp 0x404fa6
cmp eax, 3
jne 0x404fa6
mov byte [0x4d23bb], cl
mov byte [0x4d23b9], cl
mov byte [0x4d23b7], cl
mov byte [0x4d23b5], cl
mov byte [0x4d23b1], cl
mov byte [0x4d23bd], cl
cmp byte [ebp - 0x2e], cl
jne 0x444248
mov byte [0x4d23bc], cl
jmp 0x404fa6
mov byte [0x4d23bf], cl
mov byte [0x4d23be], cl
jmp 0x404fa6
mov eax, dword [0x4d2394]
cmp eax, ecx
jne 0x444280
mov byte [0x4d23ad], cl
mov byte [0x4d23ac], cl
mov al, byte [ebp - 0x30]
shr al, 6
and al, cl
mov byte [0x4d23ca], al
jmp 0x404fa6
cmp eax, 2
jne 0x44426e
mov byte [0x4d23ad], cl
mov byte [0x4d23af], cl
cmp byte [ebp - 0x2e], cl
je 0x444268
mov byte [0x4d23ae], cl
jmp 0x44426e
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x40500c