Function at 0x4c2db0
Capabilities:
Check os version
Get memory capacity
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x40
push 0
push 0
dec ecx
jne 0x4c2db8
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4c3449
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x4c3356
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x13c]
mov edx, 0x11c
call fcn.0042b030
mov dword [ebp - 0x13c], 0x11c
inc dword [ebp - 0x14]
lea eax, [ebp - 0x13c]
push eax
call sub.kernel32.dll_GetVersionExW_1
test eax, eax
je 0x4c2e7b
xor eax, eax
push ebp
push 0x4c2e6a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5dd9d0]
cmp dword [eax], 0
je 0x4c2e5b
xor eax, eax
mov dword [ebp - 0xc], eax
inc dword [ebp - 0x14]
lea eax, [ebp - 0xc]
push eax
movzx eax, word [ebp - 0x26]
push eax
movzx eax, word [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x134]
push eax
mov eax, dword [ebp - 0x138]
push eax
mov eax, dword [0x5dd9d0]
mov eax, dword [eax]
call eax
jmp 0x4c2e60
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c2e8b
lea eax, [ebp - 0x13c]
mov edx, 0x11c
call fcn.0042b030
lea eax, [ebp - 0x160]
mov edx, 0x24
call fcn.0042b030
inc dword [ebp - 0x14]
cmp dword [ebp - 0x138], 5
jb 0x4c2ecc
cmp dword [ebp - 0x134], 1
jb 0x4c2ecc
mov eax, dword [0x5de2cc]
cmp dword [eax], 0
je 0x4c2ecc
lea eax, [ebp - 0x160]
push eax
mov eax, dword [0x5de2cc]
mov eax, dword [eax]
call eax
jmp 0x4c2ed8
lea eax, [ebp - 0x160]
push eax
call sub.kernel32.dll_GetSystemInfo_1
lea eax, [ebp - 0x1c0]
mov edx, 0x40
call fcn.0042b030
mov dword [ebp - 0x1c0], 0x40
inc dword [ebp - 0x14]
lea eax, [ebp - 0x1c0]
push eax
call sub.kernel32.dll_GlobalMemoryStatusEx
test eax, eax
jne 0x4c2f15
lea eax, [ebp - 0x1c0]
mov edx, 0x40
call fcn.0042b030
lea edx, [ebp - 0x170]
mov eax, 1
call fcn.004c5b40
lea edx, [ebp - 0x180]
mov eax, 0x80000001
call fcn.004c5b40
push 0
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x4262a8]
call fcn.00408510
add esp, 4
push ebp
push 0
push 6
mov eax, 0x4c3468
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x138]
xor edx, edx
push edx
push eax
mov eax, 0x4c347c
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x134]
xor edx, edx
push edx
push eax
mov eax, 0x4c34ac
call fcn.004c2cb0
pop ecx
push ebp
movzx eax, word [ebp - 0x28]
xor edx, edx
push edx
push eax
mov eax, 0x4c34dc
call fcn.004c2cb0
pop ecx
push ebp
movzx eax, word [ebp - 0x24]
xor edx, edx
push edx
push eax
mov eax, 0x4c3514
call fcn.004c2cb0
pop ecx
push ebp
xor eax, eax
mov al, byte [ebp - 0x22]
xor edx, edx
push edx
push eax
mov eax, 0x4c353c
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
xor edx, edx
push edx
push eax
mov eax, 0x4c3568
call fcn.004c2cb0
pop ecx
push ebp
movzx eax, word [ebp - 0x160]
xor edx, edx
push edx
push eax
mov eax, 0x4c35a0
call fcn.004c2cb0
pop ecx
push ebp
movzx eax, word [ebp - 0x13e]
xor edx, edx
push edx
push eax
mov eax, 0x4c35e0
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x14c]
xor edx, edx
push edx
push eax
mov eax, 0x4c3618
call fcn.004c2cb0
pop ecx
push ebp
call fcn.004c5530
lea edx, [ebp - 0x1c4]
call fcn.0041d1d8
mov edx, dword [ebp - 0x1c4]
mov eax, 0x4c3654
call fcn.004c2bf0
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1b4]
call fcn.00407fec
push edx
push eax
mov eax, 0x4c368c
call fcn.004c2cb0
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
call fcn.00407fec
push edx
push eax
mov eax, 0x4c36b8
call fcn.004c2cb0
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
call fcn.00407fec
push edx
push eax
mov eax, 0x4c36ec
call fcn.004c2cb0
pop ecx
push ebp
call fcn.004c5670
movzx eax, ax
xor edx, edx
push edx
push eax
mov eax, 0x4c371c
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
xor edx, edx
push edx
push eax
mov eax, 0x4c3744
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x170]
xor edx, edx
push edx
push eax
mov eax, 0x4c3764
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x164]
xor edx, edx
push edx
push eax
mov eax, 0x4c3794
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x16c]
xor edx, edx
push edx
push eax
mov eax, 0x4c37c4
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x168]
xor edx, edx
push edx
push eax
mov eax, 0x4c37f4
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x17c]
xor edx, edx
push edx
push eax
mov eax, 0x4c3824
call fcn.004c2cb0
pop ecx
push ebp
mov eax, dword [ebp - 0x178]
xor edx, edx
push edx
push eax
mov eax, 0x4c3854
call fcn.004c2cb0
pop ecx
push ebp
lea eax, [ebp - 0x1c8]
call fcn.004c6050
mov edx, dword [ebp - 0x1c8]
mov eax, 0x4c3884
call fcn.004c2bf0
pop ecx
push ebp
lea eax, [ebp - 0x1cc]
call fcn.004c6950
mov edx, dword [ebp - 0x1cc]
mov eax, 0x4c38b0
call fcn.004c2d10
pop ecx
push ebp
lea eax, [ebp - 0x1d0]
call fcn.004c6890
mov edx, dword [ebp - 0x1d0]
mov eax, 0x4c38dc
call fcn.004c2d10
pop ecx
push ebp
lea eax, [ebp - 0x1d4]
call fcn.004c67d0
mov edx, dword [ebp - 0x1d4]
mov eax, 0x4c3908
call fcn.004c2d10
pop ecx
push ebp
lea eax, [ebp - 0x1d8]
call fcn.004c5db0
mov edx, dword [ebp - 0x1d8]
mov eax, 0x4c3934
call fcn.004c2bf0
pop ecx
push ebp
lea eax, [ebp - 0x1dc]
call fcn.004c5f00
mov edx, dword [ebp - 0x1dc]
mov eax, 0x4c3968
call fcn.004c2bf0
pop ecx
push ebp
lea eax, [ebp - 0x1e0]
call fcn.004c5c30
mov edx, dword [ebp - 0x1e0]
mov eax, 0x4c399c
call fcn.004c2d10
pop ecx
push ebp
lea eax, [ebp - 0x1e4]
call fcn.004c5cf0
mov edx, dword [ebp - 0x1e4]
mov eax, 0x4c39c0
call fcn.004c2d10
pop ecx
push ebp
lea eax, [ebp - 0x1e8]
call fcn.004c6bb0
mov edx, dword [ebp - 0x1e8]
mov eax, 0x4c39e4
call fcn.004c2d10
pop ecx
push ebp
lea eax, [ebp - 0x1ec]
call fcn.004c6c80
mov edx, dword [ebp - 0x1ec]
mov eax, 0x4c3a08
call fcn.004c2d10
pop ecx
lea eax, [ebp - 0x18]
call fcn.004c6710
mov eax, dword [ebp - 0x18]
call fcn.00408364
test eax, eax
jl 0x4c32fd
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0
push ebp
lea edx, [ebp - 0x1f0]
mov eax, dword [ebp - 0x10]
call fcn.004c6690
mov eax, dword [ebp - 0x1f0]
push eax
push 0x4c3a2c
lea edx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x10]
call fcn.0041d1d8
push dword [ebp - 0x1f8]
push 0x4c3a60
lea eax, [ebp - 0x1f4]
mov edx, 3
call fcn.0040748c
mov eax, dword [ebp - 0x1f4]
pop edx
call fcn.004c2d10
pop ecx
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x4c32a4
push ebp
mov edx, dword [ebp - 0x18]
mov eax, 0x4c3a70
call fcn.004c2d10
pop ecx
mov eax, dword [0x5dda88]
push dword [eax]
push 0x4c3a94
lea ecx, [ebp - 0x1fc]
mov edx, 0x4c3aa4
mov eax, dword [ebp - 4]
call fcn.0042b910
push dword [ebp - 0x1fc]
push 0x4c3aa4
mov eax, dword [ebp - 8]
push dword [eax + 0x2c]
mov eax, dword [ebp - 8]
add eax, 0x34
mov edx, 5
call fcn.00406dc4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c33a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c3453
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.00406670
lea eax, [ebp - 0x1fc]
call fcn.00406634
lea eax, [ebp - 0x1f8]
mov edx, 2
call fcn.00406670
lea eax, [ebp - 0x1f0]
mov edx, dword [0x427a7c]
mov ecx, 5
call fcn.004079f8
lea eax, [ebp - 0x1dc]
mov edx, 2
call fcn.00406670
lea eax, [ebp - 0x1d4]
mov edx, dword [0x427a7c]
mov ecx, 3
call fcn.004079f8
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00406670
lea eax, [ebp - 0x18]
mov edx, dword [0x427a7c]
call fcn.0040851c
lea eax, [ebp - 4]
mov edx, dword [0x4262a8]
call fcn.0040851c
ret