Function at 0x4c3af0
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 0x4c3af8
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4c418b
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x4c4096
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x13c]
mov edx, 0x11c
call fcn.0042ad80
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 0x4c3bbb
xor eax, eax
push ebp
push 0x4c3baa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5eb8f0]
cmp dword [eax], 0
je 0x4c3b9b
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 [0x5eb8f0]
mov eax, dword [eax]
call eax
jmp 0x4c3ba0
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c3bcb
lea eax, [ebp - 0x13c]
mov edx, 0x11c
call fcn.0042ad80
lea eax, [ebp - 0x160]
mov edx, 0x24
call fcn.0042ad80
inc dword [ebp - 0x14]
cmp dword [ebp - 0x138], 5
jb 0x4c3c0c
cmp dword [ebp - 0x134], 1
jb 0x4c3c0c
mov eax, dword [0x5ec1f0]
cmp dword [eax], 0
je 0x4c3c0c
lea eax, [ebp - 0x160]
push eax
mov eax, dword [0x5ec1f0]
mov eax, dword [eax]
call eax
jmp 0x4c3c18
lea eax, [ebp - 0x160]
push eax
call sub.kernel32.dll_GetSystemInfo_1
lea eax, [ebp - 0x1c0]
mov edx, 0x40
call fcn.0042ad80
mov dword [ebp - 0x1c0], 0x40
inc dword [ebp - 0x14]
lea eax, [ebp - 0x1c0]
push eax
call sub.kernel32.dll_GlobalMemoryStatusEx
test eax, eax
jne 0x4c3c55
lea eax, [ebp - 0x1c0]
mov edx, 0x40
call fcn.0042ad80
lea edx, [ebp - 0x170]
mov eax, 1
call fcn.004c68e0
lea edx, [ebp - 0x180]
mov eax, 0x80000001
call fcn.004c68e0
push 0
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x425f68]
call fcn.004084e0
add esp, 4
push ebp
push 0
push 6
mov eax, 0x4c41a8
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x138]
xor edx, edx
push edx
push eax
mov eax, 0x4c41bc
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x134]
xor edx, edx
push edx
push eax
mov eax, 0x4c41ec
call fcn.004c39f0
pop ecx
push ebp
movzx eax, word [ebp - 0x28]
xor edx, edx
push edx
push eax
mov eax, 0x4c421c
call fcn.004c39f0
pop ecx
push ebp
movzx eax, word [ebp - 0x24]
xor edx, edx
push edx
push eax
mov eax, 0x4c4254
call fcn.004c39f0
pop ecx
push ebp
xor eax, eax
mov al, byte [ebp - 0x22]
xor edx, edx
push edx
push eax
mov eax, 0x4c427c
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
xor edx, edx
push edx
push eax
mov eax, 0x4c42a8
call fcn.004c39f0
pop ecx
push ebp
movzx eax, word [ebp - 0x160]
xor edx, edx
push edx
push eax
mov eax, 0x4c42e0
call fcn.004c39f0
pop ecx
push ebp
movzx eax, word [ebp - 0x13e]
xor edx, edx
push edx
push eax
mov eax, 0x4c4320
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x14c]
xor edx, edx
push edx
push eax
mov eax, 0x4c4358
call fcn.004c39f0
pop ecx
push ebp
call fcn.004c62d0
lea edx, [ebp - 0x1c4]
call fcn.0041d1ac
mov edx, dword [ebp - 0x1c4]
mov eax, 0x4c4394
call fcn.004c3930
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1b4]
call fcn.00407fbc
push edx
push eax
mov eax, 0x4c43cc
call fcn.004c39f0
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
call fcn.00407fbc
push edx
push eax
mov eax, 0x4c43f8
call fcn.004c39f0
pop ecx
push ebp
push 0
push 0x100000
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
call fcn.00407fbc
push edx
push eax
mov eax, 0x4c442c
call fcn.004c39f0
pop ecx
push ebp
call fcn.004c6410
movzx eax, ax
xor edx, edx
push edx
push eax
mov eax, 0x4c445c
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
xor edx, edx
push edx
push eax
mov eax, 0x4c4484
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x170]
xor edx, edx
push edx
push eax
mov eax, 0x4c44a4
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x164]
xor edx, edx
push edx
push eax
mov eax, 0x4c44d4
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x16c]
xor edx, edx
push edx
push eax
mov eax, 0x4c4504
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x168]
xor edx, edx
push edx
push eax
mov eax, 0x4c4534
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x17c]
xor edx, edx
push edx
push eax
mov eax, 0x4c4564
call fcn.004c39f0
pop ecx
push ebp
mov eax, dword [ebp - 0x178]
xor edx, edx
push edx
push eax
mov eax, 0x4c4594
call fcn.004c39f0
pop ecx
push ebp
lea eax, [ebp - 0x1c8]
call fcn.004c6d50
mov edx, dword [ebp - 0x1c8]
mov eax, 0x4c45c4
call fcn.004c3930
pop ecx
push ebp
lea eax, [ebp - 0x1cc]
call fcn.004c74a0
mov edx, dword [ebp - 0x1cc]
mov eax, 0x4c45f0
call fcn.004c3a50
pop ecx
push ebp
lea eax, [ebp - 0x1d0]
call fcn.004c73e0
mov edx, dword [ebp - 0x1d0]
mov eax, 0x4c461c
call fcn.004c3a50
pop ecx
push ebp
lea eax, [ebp - 0x1d4]
call fcn.004c7320
mov edx, dword [ebp - 0x1d4]
mov eax, 0x4c4648
call fcn.004c3a50
pop ecx
push ebp
lea eax, [ebp - 0x1d8]
call fcn.004c6b50
mov edx, dword [ebp - 0x1d8]
mov eax, 0x4c4674
call fcn.004c3930
pop ecx
push ebp
lea eax, [ebp - 0x1dc]
call fcn.004c6c50
mov edx, dword [ebp - 0x1dc]
mov eax, 0x4c46a8
call fcn.004c3930
pop ecx
push ebp
lea eax, [ebp - 0x1e0]
call fcn.004c69d0
mov edx, dword [ebp - 0x1e0]
mov eax, 0x4c46dc
call fcn.004c3a50
pop ecx
push ebp
lea eax, [ebp - 0x1e4]
call fcn.004c6a90
mov edx, dword [ebp - 0x1e4]
mov eax, 0x4c4700
call fcn.004c3a50
pop ecx
push ebp
lea eax, [ebp - 0x1e8]
call fcn.004c76f0
mov edx, dword [ebp - 0x1e8]
mov eax, 0x4c4724
call fcn.004c3a50
pop ecx
push ebp
lea eax, [ebp - 0x1ec]
call fcn.004c77c0
mov edx, dword [ebp - 0x1ec]
mov eax, 0x4c4748
call fcn.004c3a50
pop ecx
lea eax, [ebp - 0x18]
call fcn.004c7260
mov eax, dword [ebp - 0x18]
call fcn.00408334
test eax, eax
jl 0x4c403d
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.004c71e0
mov eax, dword [ebp - 0x1f0]
push eax
push 0x4c476c
lea edx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x10]
call fcn.0041d1ac
push dword [ebp - 0x1f8]
push 0x4c47a0
lea eax, [ebp - 0x1f4]
mov edx, 3
call fcn.004074a8
mov eax, dword [ebp - 0x1f4]
pop edx
call fcn.004c3a50
pop ecx
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x4c3fe4
push ebp
mov edx, dword [ebp - 0x18]
mov eax, 0x4c47b0
call fcn.004c3a50
pop ecx
mov eax, dword [0x5eb9ac]
push dword [eax]
push 0x4c47d4
lea ecx, [ebp - 0x1fc]
mov edx, 0x4c47e4
mov eax, dword [ebp - 4]
call fcn.0042b660
push dword [ebp - 0x1fc]
push 0x4c47e4
mov eax, dword [ebp - 8]
push dword [eax + 0x2c]
mov eax, dword [ebp - 8]
add eax, 0x34
mov edx, 5
call fcn.00406de0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c40ea
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c4195
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040668c
lea eax, [ebp - 0x1fc]
call fcn.00406650
lea eax, [ebp - 0x1f8]
mov edx, 2
call fcn.0040668c
lea eax, [ebp - 0x1f0]
mov edx, dword [0x427754]
mov ecx, 5
call fcn.00407a14
lea eax, [ebp - 0x1dc]
mov edx, 2
call fcn.0040668c
lea eax, [ebp - 0x1d4]
mov edx, dword [0x427754]
mov ecx, 3
call fcn.00407a14
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.0040668c
lea eax, [ebp - 0x18]
mov edx, dword [0x427754]
call fcn.004084ec
lea eax, [ebp - 4]
mov edx, dword [0x425f68]
call fcn.004084ec
ret