Function at 0x4c2b80
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 0x4c2b88
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4c3219
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x4c3126
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x13c]
mov edx, 0x11c
call fcn.0042b0a0
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 0x4c2c4b
xor eax, eax
push ebp
push 0x4c2c3a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5dc9b0]
cmp dword [eax], 0
je 0x4c2c2b
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 [0x5dc9b0]
mov eax, dword [eax]
call eax
jmp 0x4c2c30
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c2c5b
lea eax, [ebp - 0x13c]
mov edx, 0x11c
call fcn.0042b0a0
lea eax, [ebp - 0x160]
mov edx, 0x24
call fcn.0042b0a0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x138], 5
jb 0x4c2c9c
cmp dword [ebp - 0x134], 1
jb 0x4c2c9c
mov eax, dword [0x5dd2a4]
cmp dword [eax], 0
je 0x4c2c9c
lea eax, [ebp - 0x160]
push eax
mov eax, dword [0x5dd2a4]
mov eax, dword [eax]
call eax
jmp 0x4c2ca8
lea eax, [ebp - 0x160]
push eax
call sub.kernel32.dll_GetSystemInfo_1
lea eax, [ebp - 0x1c0]
mov edx, 0x40
call fcn.0042b0a0
mov dword [ebp - 0x1c0], 0x40
inc dword [ebp - 0x14]
lea eax, [ebp - 0x1c0]
push eax
call sub.kernel32.dll_GlobalMemoryStatusEx
test eax, eax
jne 0x4c2ce5
lea eax, [ebp - 0x1c0]
mov edx, 0x40
call fcn.0042b0a0
lea edx, [ebp - 0x170]
mov eax, 1
call fcn.004c5970
lea edx, [ebp - 0x180]
mov eax, 0x80000001
call fcn.004c5970
push 0
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x426318]
call fcn.00408510
add esp, 4
push ebp
push 0
push 6
mov eax, 0x4c3238
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x138]
xor edx, edx
push edx
push eax
mov eax, 0x4c324c
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x134]
xor edx, edx
push edx
push eax
mov eax, 0x4c327c
call fcn.004c2a80
pop ecx
push ebp
movzx eax, word [ebp - 0x28]
xor edx, edx
push edx
push eax
mov eax, 0x4c32ac
call fcn.004c2a80
pop ecx
push ebp
movzx eax, word [ebp - 0x24]
xor edx, edx
push edx
push eax
mov eax, 0x4c32e4
call fcn.004c2a80
pop ecx
push ebp
xor eax, eax
mov al, byte [ebp - 0x22]
xor edx, edx
push edx
push eax
mov eax, 0x4c330c
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
xor edx, edx
push edx
push eax
mov eax, 0x4c3338
call fcn.004c2a80
pop ecx
push ebp
movzx eax, word [ebp - 0x160]
xor edx, edx
push edx
push eax
mov eax, 0x4c3370
call fcn.004c2a80
pop ecx
push ebp
movzx eax, word [ebp - 0x13e]
xor edx, edx
push edx
push eax
mov eax, 0x4c33b0
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x14c]
xor edx, edx
push edx
push eax
mov eax, 0x4c33e8
call fcn.004c2a80
pop ecx
push ebp
call fcn.004c5360
lea edx, [ebp - 0x1c4]
call fcn.0041d248
mov edx, dword [ebp - 0x1c4]
mov eax, 0x4c3424
call fcn.004c29c0
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, 0x4c345c
call fcn.004c2a80
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, 0x4c3488
call fcn.004c2a80
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, 0x4c34bc
call fcn.004c2a80
pop ecx
push ebp
call fcn.004c54a0
movzx eax, ax
xor edx, edx
push edx
push eax
mov eax, 0x4c34ec
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
xor edx, edx
push edx
push eax
mov eax, 0x4c3514
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x170]
xor edx, edx
push edx
push eax
mov eax, 0x4c3534
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x164]
xor edx, edx
push edx
push eax
mov eax, 0x4c3564
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x16c]
xor edx, edx
push edx
push eax
mov eax, 0x4c3594
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x168]
xor edx, edx
push edx
push eax
mov eax, 0x4c35c4
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x17c]
xor edx, edx
push edx
push eax
mov eax, 0x4c35f4
call fcn.004c2a80
pop ecx
push ebp
mov eax, dword [ebp - 0x178]
xor edx, edx
push edx
push eax
mov eax, 0x4c3624
call fcn.004c2a80
pop ecx
push ebp
lea eax, [ebp - 0x1c8]
call fcn.004c5e80
mov edx, dword [ebp - 0x1c8]
mov eax, 0x4c3654
call fcn.004c29c0
pop ecx
push ebp
lea eax, [ebp - 0x1cc]
call fcn.004c6780
mov edx, dword [ebp - 0x1cc]
mov eax, 0x4c3680
call fcn.004c2ae0
pop ecx
push ebp
lea eax, [ebp - 0x1d0]
call fcn.004c66c0
mov edx, dword [ebp - 0x1d0]
mov eax, 0x4c36ac
call fcn.004c2ae0
pop ecx
push ebp
lea eax, [ebp - 0x1d4]
call fcn.004c6600
mov edx, dword [ebp - 0x1d4]
mov eax, 0x4c36d8
call fcn.004c2ae0
pop ecx
push ebp
lea eax, [ebp - 0x1d8]
call fcn.004c5be0
mov edx, dword [ebp - 0x1d8]
mov eax, 0x4c3704
call fcn.004c29c0
pop ecx
push ebp
lea eax, [ebp - 0x1dc]
call fcn.004c5d30
mov edx, dword [ebp - 0x1dc]
mov eax, 0x4c3738
call fcn.004c29c0
pop ecx
push ebp
lea eax, [ebp - 0x1e0]
call fcn.004c5a60
mov edx, dword [ebp - 0x1e0]
mov eax, 0x4c376c
call fcn.004c2ae0
pop ecx
push ebp
lea eax, [ebp - 0x1e4]
call fcn.004c5b20
mov edx, dword [ebp - 0x1e4]
mov eax, 0x4c3790
call fcn.004c2ae0
pop ecx
push ebp
lea eax, [ebp - 0x1e8]
call fcn.004c69e0
mov edx, dword [ebp - 0x1e8]
mov eax, 0x4c37b4
call fcn.004c2ae0
pop ecx
push ebp
lea eax, [ebp - 0x1ec]
call fcn.004c6ab0
mov edx, dword [ebp - 0x1ec]
mov eax, 0x4c37d8
call fcn.004c2ae0
pop ecx
lea eax, [ebp - 0x18]
call fcn.004c6540
mov eax, dword [ebp - 0x18]
call fcn.00408364
test eax, eax
jl 0x4c30cd
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.004c64c0
mov eax, dword [ebp - 0x1f0]
push eax
push 0x4c37fc
lea edx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x10]
call fcn.0041d248
push dword [ebp - 0x1f8]
push 0x4c3830
lea eax, [ebp - 0x1f4]
mov edx, 3
call fcn.0040748c
mov eax, dword [ebp - 0x1f4]
pop edx
call fcn.004c2ae0
pop ecx
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x4c3074
push ebp
mov edx, dword [ebp - 0x18]
mov eax, 0x4c3840
call fcn.004c2ae0
pop ecx
mov eax, dword [0x5dca68]
push dword [eax]
push 0x4c3864
lea ecx, [ebp - 0x1fc]
mov edx, 0x4c3874
mov eax, dword [ebp - 4]
call fcn.0042b980
push dword [ebp - 0x1fc]
push 0x4c3874
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 0x4c3178
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c3223
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 [0x427aec]
mov ecx, 5
call fcn.004079f8
lea eax, [ebp - 0x1dc]
mov edx, 2
call fcn.00406670
lea eax, [ebp - 0x1d4]
mov edx, dword [0x427aec]
mov ecx, 3
call fcn.004079f8
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00406670
lea eax, [ebp - 0x18]
mov edx, dword [0x427aec]
call fcn.0040851c
lea eax, [ebp - 4]
mov edx, dword [0x426318]
call fcn.0040851c
ret