Function at 0x4c2c10
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 0x4c2c18
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4c32ab
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x4c31b6
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x13c]
mov edx, 0x11c
call fcn.0042b000
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 0x4c2cdb
xor eax, eax
push ebp
push 0x4c2cca
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5df8d0]
cmp dword [eax], 0
je 0x4c2cbb
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 [0x5df8d0]
mov eax, dword [eax]
call eax
jmp 0x4c2cc0
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c2ceb
lea eax, [ebp - 0x13c]
mov edx, 0x11c
call fcn.0042b000
lea eax, [ebp - 0x160]
mov edx, 0x24
call fcn.0042b000
inc dword [ebp - 0x14]
cmp dword [ebp - 0x138], 5
jb 0x4c2d2c
cmp dword [ebp - 0x134], 1
jb 0x4c2d2c
mov eax, dword [0x5e01c8]
cmp dword [eax], 0
je 0x4c2d2c
lea eax, [ebp - 0x160]
push eax
mov eax, dword [0x5e01c8]
mov eax, dword [eax]
call eax
jmp 0x4c2d38
lea eax, [ebp - 0x160]
push eax
call sub.kernel32.dll_GetSystemInfo_1
lea eax, [ebp - 0x1c0]
mov edx, 0x40
call fcn.0042b000
mov dword [ebp - 0x1c0], 0x40
inc dword [ebp - 0x14]
lea eax, [ebp - 0x1c0]
push eax
call sub.kernel32.dll_GlobalMemoryStatusEx
test eax, eax
jne 0x4c2d75
lea eax, [ebp - 0x1c0]
mov edx, 0x40
call fcn.0042b000
lea edx, [ebp - 0x170]
mov eax, 1
call fcn.004c59b0
lea edx, [ebp - 0x180]
mov eax, 0x80000001
call fcn.004c59b0
push 0
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x426278]
call fcn.004084c4
add esp, 4
push ebp
push 0
push 6
mov eax, 0x4c32c8
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x138]
xor edx, edx
push edx
push eax
mov eax, 0x4c32dc
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x134]
xor edx, edx
push edx
push eax
mov eax, 0x4c330c
call fcn.004c2b10
pop ecx
push ebp
movzx eax, word [ebp - 0x28]
xor edx, edx
push edx
push eax
mov eax, 0x4c333c
call fcn.004c2b10
pop ecx
push ebp
movzx eax, word [ebp - 0x24]
xor edx, edx
push edx
push eax
mov eax, 0x4c3374
call fcn.004c2b10
pop ecx
push ebp
xor eax, eax
mov al, byte [ebp - 0x22]
xor edx, edx
push edx
push eax
mov eax, 0x4c339c
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
xor edx, edx
push edx
push eax
mov eax, 0x4c33c8
call fcn.004c2b10
pop ecx
push ebp
movzx eax, word [ebp - 0x160]
xor edx, edx
push edx
push eax
mov eax, 0x4c3400
call fcn.004c2b10
pop ecx
push ebp
movzx eax, word [ebp - 0x13e]
xor edx, edx
push edx
push eax
mov eax, 0x4c3440
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x14c]
xor edx, edx
push edx
push eax
mov eax, 0x4c3478
call fcn.004c2b10
pop ecx
push ebp
call fcn.004c53a0
lea edx, [ebp - 0x1c4]
call fcn.0041d1b8
mov edx, dword [ebp - 0x1c4]
mov eax, 0x4c34b4
call fcn.004c2a50
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1b4]
call fcn.00407fa0
push edx
push eax
mov eax, 0x4c34ec
call fcn.004c2b10
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
call fcn.00407fa0
push edx
push eax
mov eax, 0x4c3518
call fcn.004c2b10
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
call fcn.00407fa0
push edx
push eax
mov eax, 0x4c354c
call fcn.004c2b10
pop ecx
push ebp
call fcn.004c54e0
movzx eax, ax
xor edx, edx
push edx
push eax
mov eax, 0x4c357c
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
xor edx, edx
push edx
push eax
mov eax, 0x4c35a4
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x170]
xor edx, edx
push edx
push eax
mov eax, 0x4c35c4
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x164]
xor edx, edx
push edx
push eax
mov eax, 0x4c35f4
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x16c]
xor edx, edx
push edx
push eax
mov eax, 0x4c3624
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x168]
xor edx, edx
push edx
push eax
mov eax, 0x4c3654
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x17c]
xor edx, edx
push edx
push eax
mov eax, 0x4c3684
call fcn.004c2b10
pop ecx
push ebp
mov eax, dword [ebp - 0x178]
xor edx, edx
push edx
push eax
mov eax, 0x4c36b4
call fcn.004c2b10
pop ecx
push ebp
lea eax, [ebp - 0x1c8]
call fcn.004c5e20
mov edx, dword [ebp - 0x1c8]
mov eax, 0x4c36e4
call fcn.004c2a50
pop ecx
push ebp
lea eax, [ebp - 0x1cc]
call fcn.004c6570
mov edx, dword [ebp - 0x1cc]
mov eax, 0x4c3710
call fcn.004c2b70
pop ecx
push ebp
lea eax, [ebp - 0x1d0]
call fcn.004c64b0
mov edx, dword [ebp - 0x1d0]
mov eax, 0x4c373c
call fcn.004c2b70
pop ecx
push ebp
lea eax, [ebp - 0x1d4]
call fcn.004c63f0
mov edx, dword [ebp - 0x1d4]
mov eax, 0x4c3768
call fcn.004c2b70
pop ecx
push ebp
lea eax, [ebp - 0x1d8]
call fcn.004c5c20
mov edx, dword [ebp - 0x1d8]
mov eax, 0x4c3794
call fcn.004c2a50
pop ecx
push ebp
lea eax, [ebp - 0x1dc]
call fcn.004c5d20
mov edx, dword [ebp - 0x1dc]
mov eax, 0x4c37c8
call fcn.004c2a50
pop ecx
push ebp
lea eax, [ebp - 0x1e0]
call fcn.004c5aa0
mov edx, dword [ebp - 0x1e0]
mov eax, 0x4c37fc
call fcn.004c2b70
pop ecx
push ebp
lea eax, [ebp - 0x1e4]
call fcn.004c5b60
mov edx, dword [ebp - 0x1e4]
mov eax, 0x4c3820
call fcn.004c2b70
pop ecx
push ebp
lea eax, [ebp - 0x1e8]
call fcn.004c67d0
mov edx, dword [ebp - 0x1e8]
mov eax, 0x4c3844
call fcn.004c2b70
pop ecx
push ebp
lea eax, [ebp - 0x1ec]
call fcn.004c68a0
mov edx, dword [ebp - 0x1ec]
mov eax, 0x4c3868
call fcn.004c2b70
pop ecx
lea eax, [ebp - 0x18]
call fcn.004c6330
mov eax, dword [ebp - 0x18]
call fcn.00408318
test eax, eax
jl 0x4c315d
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.004c62b0
mov eax, dword [ebp - 0x1f0]
push eax
push 0x4c388c
lea edx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x10]
call fcn.0041d1b8
push dword [ebp - 0x1f8]
push 0x4c38c0
lea eax, [ebp - 0x1f4]
mov edx, 3
call fcn.0040748c
mov eax, dword [ebp - 0x1f4]
pop edx
call fcn.004c2b70
pop ecx
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x4c3104
push ebp
mov edx, dword [ebp - 0x18]
mov eax, 0x4c38d0
call fcn.004c2b70
pop ecx
mov eax, dword [0x5df988]
push dword [eax]
push 0x4c38f4
lea ecx, [ebp - 0x1fc]
mov edx, 0x4c3904
mov eax, dword [ebp - 4]
call fcn.0042b8e0
push dword [ebp - 0x1fc]
push 0x4c3904
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 0x4c320a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c32b5
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 [0x427a4c]
mov ecx, 5
call fcn.004079f8
lea eax, [ebp - 0x1dc]
mov edx, 2
call fcn.00406670
lea eax, [ebp - 0x1d4]
mov edx, dword [0x427a4c]
mov ecx, 3
call fcn.004079f8
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00406670
lea eax, [ebp - 0x18]
mov edx, dword [0x427a4c]
call fcn.004084d0
lea eax, [ebp - 4]
mov edx, dword [0x426278]
call fcn.004084d0
ret