Function at 0x4013f8
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push esi
mov esi, 0x4d136c
push edi
mov ecx, esi
call fcn.00403f6a
lea eax, [ebp - 0x148]
mov byte [0x4d1398], 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 [0x4d1360], eax
mov eax, dword [ebp - 0x140]
mov dword [0x4d1364], eax
mov eax, dword [ebp - 0x13c]
mov dword [0x4d1368], eax
lea eax, [ebp - 0x134]
push eax
call fcn.004043ee
xor eax, eax
or ecx, 0xffffffff
cmp dword [0x4d1370], eax
ja 0x4421d3
mov eax, ecx
cmp eax, ecx
jne 0x442212
push ecx
mov esi, 0x4d136c
push 0
mov ecx, esi
call fcn.00404562
push 0x49c914
mov ecx, esi
call fcn.0040400e
mov eax, dword [0x4d1360]
xor edx, edx
mov word [0x4d1393], dx
mov dword [0x4d137c], edx
mov dword [0x4d1380], edx
mov dword [0x4d1384], edx
mov dword [0x4d1388], edx
mov dword [0x4d138c], edx
mov word [0x4d1390], dx
mov byte [0x4d1392], dl
push 1
pop ecx
sub eax, 5
je 0x442344
sub eax, ecx
jne 0x442219
mov eax, dword [0x4d1364]
mov byte [0x4d137d], cl
mov byte [0x4d137f], cl
test eax, eax
je 0x44228b
cmp eax, ecx
je 0x4422b2
cmp eax, 2
jne 0x4422f6
mov byte [0x4d1387], cl
mov byte [0x4d1385], cl
mov byte [0x4d1381], cl
mov byte [0x4d1389], cl
cmp byte [ebp - 0x2e], cl
jne 0x4422e5
mov byte [0x4d1388], 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 0x4015ab
mov byte [0x4d1394], dl
push 9
xor eax, eax
lea edi, [ebp - 0x2c]
pop ecx
rep stosd dword es:[edi], eax
test dl, dl
je 0x442389
push 0x49c93c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4015b3
push str.GetNativeSystemInfo
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4015b3
lea ecx, [ebp - 0x2c]
push ecx
call eax
test esi, esi
je 0x401596
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ax, word [ebp - 0x2c]
pop edi
mov word [0x4d1396], ax
mov eax, 0x4d1360
pop esi
mov esp, ebp
pop ebp
ret
mov dl, byte [0x4d1394]
jmp 0x401552
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x40158b
mov esi, dword [0x4d136c]
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 0x4421ee
inc edx
movzx esi, word [edi*2 + 0x49c916]
inc edi
test si, si
jne 0x4421e7
test edx, edx
je 0x40146f
inc eax
cmp eax, dword [0x4d1370]
jb 0x4421d3
jmp 0x40146d
mov ecx, eax
jmp 0x401477
sub eax, 4
jne 0x401530
mov byte [0x4d137d], cl
mov byte [0x4d137f], cl
mov byte [0x4d138b], cl
mov byte [0x4d1389], cl
mov byte [0x4d1387], cl
mov byte [0x4d1385], cl
mov byte [0x4d1381], cl
mov byte [0x4d138d], cl
mov byte [0x4d138f], cl
cmp dword [0x4d1364], edx
jne 0x401530
mov byte [0x4d1391], cl
cmp byte [ebp - 0x2e], cl
jne 0x44227a
mov byte [0x4d1390], cl
jmp 0x401530
mov byte [0x4d1393], cl
mov byte [0x4d1392], cl
jmp 0x401530
mov byte [0x4d1381], cl
cmp byte [ebp - 0x2e], cl
jne 0x4422a1
mov byte [0x4d1380], cl
jmp 0x401530
mov byte [0x4d1383], cl
mov byte [0x4d1382], cl
jmp 0x401530
mov byte [0x4d1381], cl
mov byte [0x4d1383], cl
mov byte [0x4d1385], cl
cmp byte [ebp - 0x2e], cl
jne 0x4422d4
mov byte [0x4d1384], cl
jmp 0x401530
mov byte [0x4d1387], cl
mov byte [0x4d1386], cl
jmp 0x401530
mov byte [0x4d138b], cl
mov byte [0x4d138a], cl
jmp 0x401530
cmp eax, 3
jne 0x401530
mov byte [0x4d138b], cl
mov byte [0x4d1389], cl
mov byte [0x4d1387], cl
mov byte [0x4d1385], cl
mov byte [0x4d1381], cl
mov byte [0x4d138d], cl
cmp byte [ebp - 0x2e], cl
jne 0x442333
mov byte [0x4d138c], cl
jmp 0x401530
mov byte [0x4d138f], cl
mov byte [0x4d138e], cl
jmp 0x401530
mov eax, dword [0x4d1364]
cmp eax, ecx
jne 0x44236b
mov byte [0x4d137d], cl
mov byte [0x4d137c], cl
mov al, byte [ebp - 0x30]
shr al, 6
and al, cl
mov byte [0x4d1398], al
jmp 0x401530
cmp eax, 2
jne 0x442359
mov byte [0x4d137d], cl
mov byte [0x4d137f], cl
cmp byte [ebp - 0x2e], cl
je 0x442353
mov byte [0x4d137e], cl
jmp 0x442359
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x401596