Function at 0x4c1870
Capabilities:
Get memory capacity

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x64
mov eax, dword [0x4ff074]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
movq xmm0, qword [0xa89060]
add esp, 4
mov dword [0x90aa58], eax
mov dword [0x90aa5c], eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x40
push eax
movq qword [ebp - 0x54], xmm0
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [ebp - 0x3c]
lea edi, [ebp - 0x64]
xor eax, dword [ebp - 0x40]
xor ecx, ecx
add dword [ebp - 0x54], eax
mov eax, 1
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [edi], eax
mov dword [edi + 4], esi
mov esi, 2
mov dword [edi + 8], ecx
lea ecx, [ebp - 0x54]
mov dword [edi + 0xc], edx
mov edi, 0x5f5e100
mov eax, dword [ebp - 0x60]
and eax, 0xf0ffffff
xor eax, dword [ebp - 0x64]
xor eax, dword [ebp - 0x5c]
xor eax, dword [ebp - 0x58]
add dword [ebp - 0x50], eax
nop dword [eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
xor edx, edx
div edi
mov dword [ecx - 4], edx
sub esi, 1
jne 0x4c1910
push dword [ebp - 0x50]
mov eax, dword [0xa88e4c]
push dword [ebp - 0x54]
add eax, 4
push 0xb20a60
push 0x11
push eax
call fcn.0042cda0
add esp, 0x14
call fcn.004bfd20
test al, al
jne 0x4c196e
mov ecx, str.Failed_to_initialise_D3D
call fcn.004bfb10
mov byte [0xa88c22], 1
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d66b5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x7ea8b2
push 0x10
push 0x7f24f0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
mov dword [ebp - 0x50], 3
mov esi, 0x7f2530
mov edi, 0xb078d8
push edi
push 0x10
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
add edi, 0x20
add esi, 0x40
sub dword [ebp - 0x50], 1
jne 0x4c1994
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
call fcn.004bced0
call fcn.004bcf50
mov al, byte [0x7ea971]
mov esi, 1
test al, al
movzx ecx, al
cmove ecx, esi
mov byte [0x7ea971], cl
xor cl, cl
call fcn.00499f90
call fcn.00499cc0
cmp byte [0x7ea91c], 0
je 0x4c1a01
cmp byte [0x7ea946], 0
je 0x4c19fc
call fcn.004bde00
jmp 0x4c1a01
call fcn.004bdd50
call fcn.004133e0
call fcn.004d2a20
call fcn.00438e50
mov al, byte [0x7e811a]
mov byte [ebp - 0x49], al
mov eax, dword [0xa91e30]
push 0
mov dword [0x7eab3c], 0x7f2670
mov dword [0x7eaeb4], 0x7f2670
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 0
push 2
push 0
push 0
push eax
mov dword [0x7ea9cc], 0
call dword [ecx + 0xac]
mov eax, dword [0xa91e30]
push 0
push 0xe
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
cmp byte [0xa88c2a], 0
je 0x4c1a86
mov eax, dword [0xa91e30]
push 0
push 0xa1
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov cl, byte [0x56494b]
xor al, al
mov byte [0x7e811a], al
cmp cl, 1
je 0x4c1b0e
cmp cl, 2
jne 0x4c1b15
cmp byte [0x7c9ce1], al
jne 0x4c1b15
cmp dword [0x7e8110], 0
jne 0x4c1b0e
cmp byte [0x7e803b], al
jne 0x4c1b0e
cmp byte [0x7e8029], 7
je 0x4c1b0e
cmp byte [0x7e80d8], 1
je 0x4c1adb
xor eax, eax
mov word [0xaea548], ax
mov word [0xad5974], ax
mov byte [0x7e80d8], al
mov byte [0x7e802e], 0
call fcn.00421430
mov al, byte [0x7e811a]
cmp al, 1
jne 0x4c1afa
call fcn.004243c0
mov al, byte [0x7e811a]
mov dword [0x7d05bc], 0
mov dword [0x7d05b4], 0
mov byte [0x56494b], 0
cmp al, byte [ebp - 0x49]
je 0x4c1c07
mov cl, byte [0x7e8036]
movzx eax, cl
shl eax, 6
cmp byte [eax + 0x7ea7d0], 1
jne 0x4c1b92
movzx eax, byte [0x5648a3]
add eax, 0xfffffffb
cmp eax, 7
ja case.0x4c1b4d.6
movzx eax, byte [eax + 0x4c1c3c]
jmp dword [eax*4 + 0x4c1c30]
xor eax, eax
mov byte [0x5648a2], 5
mov byte [0x5648a3], 5
mov byte [0x564897], 0
mov word [0x5648c8], ax
jmp 0x4c1bea
xor eax, eax
mov byte [0x5648a2], 9
mov byte [0x5648a3], 9
mov byte [0x564897], 0
mov word [0x5648c8], ax
jmp case.0x4c1b4d.6
cmp byte [0x7e8029], 0
jne case.0x4c1b4d.6
test cl, cl
je case.0x4c1b4d.6
mov al, byte [0x7f263e]
cmp al, 3
je 0x4c1bcd
sub al, 6
cmp al, 1
ja case.0x4c1b4d.6
xor eax, eax
mov byte [0x7f263b], 5
mov byte [0x7f263e], 5
mov byte [0x7eafbe], 0
mov word [0x9eaf00], ax
jmp case.0x4c1b4d.6
xor eax, eax
mov byte [0x7f263b], 2
mov byte [0x7f263e], 2
mov byte [0x7eafbe], 0
mov word [0x9eaf00], ax
mov byte [0x7e843a], 0
movzx eax, byte [0x7d05fb]
cmp byte [0x7d05fe], 0
cmovne eax, esi
mov byte [0x7d05fb], al
call fcn.004a0050
call fcn.00421140
mov al, byte [0x7e811a]
mov ecx, dword [ebp - 4]
pop edi
mov byte [0x7d0538], al
xor ecx, ebp
mov al, 1
pop esi
call fcn.004d66b5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret