Function at 0x40bc70
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x434008]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x48]
push edi
push 0x3c
push 0
push eax
call fcn.00414170
add esp, 0xc
mov dword [ebp - 0x4c], 0x40
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
cmp eax, 1
jne 0x40bfa5
mov edx, dword [ebp - 0x48]
mov ecx, esi
call fcn.0040e190
mov esi, eax
mov edi, dword [esi]
add edi, 0x10
cmp edi, dword [esi + 4]
jb 0x40bccd
push edi
mov ecx, esi
call fcn.004049c2
mov eax, dword [esi]
add eax, dword [esi + 8]
movups xmm0, xmmword [str.__memory_in_use.]
movups xmmword [eax], xmm0
mov dword [esi], edi
add edi, 0xa
cmp edi, dword [esi + 4]
jb 0x40bcee
push edi
mov ecx, esi
call fcn.004049c2
mov ecx, dword [esi]
add ecx, dword [esi + 8]
movq xmm0, qword [str._r_n]
movq qword [ecx], xmm0
mov ax, word [0x42f9d8]
mov word [ecx + 8], ax
mov ecx, esi
mov dword [esi], edi
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
add edx, 0xfffff
adc eax, 0
shrd edx, eax, 0x14
shr eax, 0x14
call fcn.0040e190
mov esi, eax
mov edi, dword [esi]
add edi, 0x18
cmp edi, dword [esi + 4]
jb 0x40bd3c
push edi
mov ecx, esi
call fcn.004049c2
mov eax, dword [esi + 8]
add eax, dword [esi]
movups xmm0, xmmword [str._MBytes_physical_memory.]
movups xmmword [eax], xmm0
movq xmm0, qword [0x42fa5c]
movq qword [eax + 0x10], xmm0
mov dword [esi], edi
add edi, 0xa
cmp edi, dword [esi + 4]
jb 0x40bd6a
push edi
mov ecx, esi
call fcn.004049c2
mov ecx, dword [esi + 8]
add ecx, dword [esi]
movq xmm0, qword [str._r_n]
movq qword [ecx], xmm0
mov ax, word [0x42f9d8]
mov word [ecx + 8], ax
mov ecx, esi
mov dword [esi], edi
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
add edx, 0xfffff
adc eax, 0
shrd edx, eax, 0x14
shr eax, 0x14
call fcn.0040e190
mov esi, eax
mov edi, dword [esi]
add edi, 0x1d
cmp edi, dword [esi + 4]
jb 0x40bdb8
push edi
mov ecx, esi
call fcn.004049c2
mov eax, dword [esi]
add eax, dword [esi + 8]
push 0x1d
push str._MBytes_physical_memory_free.
push eax
call fcn.00414710
mov dword [esi], edi
add esp, 0xc
add edi, 0xa
cmp edi, dword [esi + 4]
jb 0x40bddf
push edi
mov ecx, esi
call fcn.004049c2
mov ecx, dword [esi]
add ecx, dword [esi + 8]
movq xmm0, qword [str._r_n]
movq qword [ecx], xmm0
mov ax, word [0x42f9d8]
mov word [ecx + 8], ax
mov ecx, esi
mov dword [esi], edi
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, 0xfffff
adc eax, 0
shrd edx, eax, 0x14
shr eax, 0x14
call fcn.0040e190
mov esi, eax
mov edi, dword [esi]
add edi, 0x14
cmp edi, dword [esi + 4]
jb 0x40be2d
push edi
mov ecx, esi
call fcn.004049c2
mov ecx, dword [esi]
add ecx, dword [esi + 8]
movups xmm0, xmmword [str._MBytes_paging_file.]
movups xmmword [ecx], xmm0
mov eax, dword [0x42fa24]
mov dword [ecx + 0x10], eax
mov dword [esi], edi
add edi, 0xa
cmp edi, dword [esi + 4]
jb 0x40be56
push edi
mov ecx, esi
call fcn.004049c2
mov ecx, dword [esi]
add ecx, dword [esi + 8]
movq xmm0, qword [str._r_n]
movq qword [ecx], xmm0
mov ax, word [0x42f9d8]
mov word [ecx + 8], ax
mov ecx, esi
mov dword [esi], edi
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
add edx, 0xfffff
adc eax, 0
shrd edx, eax, 0x14
shr eax, 0x14
call fcn.0040e190
mov esi, eax
mov edi, dword [esi]
add edi, 0x19
cmp edi, dword [esi + 4]
jb 0x40bea4
push edi
mov ecx, esi
call fcn.004049c2
mov eax, dword [esi]
add eax, dword [esi + 8]
push 0x19
push str._MBytes_paging_file_free.
push eax
call fcn.00414710
mov dword [esi], edi
add esp, 0xc
add edi, 0xa
cmp edi, dword [esi + 4]
jb 0x40becb
push edi
mov ecx, esi
call fcn.004049c2
mov ecx, dword [esi]
add ecx, dword [esi + 8]
movq xmm0, qword [str._r_n]
movq qword [ecx], xmm0
mov ax, word [0x42f9d8]
mov word [ecx + 8], ax
mov ecx, esi
mov dword [esi], edi
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
add edx, 0xfffff
adc eax, 0
shrd edx, eax, 0x14
shr eax, 0x14
call fcn.0040e190
mov esi, eax
mov edi, dword [esi]
add edi, 0x1b
cmp edi, dword [esi + 4]
jb 0x40bf19
push edi
mov ecx, esi
call fcn.004049c2
mov eax, dword [esi + 8]
add eax, dword [esi]
push 0x1b
push str._MBytes_user_address_space.
push eax
call fcn.00414710
mov dword [esi], edi
add esp, 0xc
add edi, 0xa
cmp edi, dword [esi + 4]
jb 0x40bf40
push edi
mov ecx, esi
call fcn.004049c2
mov ecx, dword [esi + 8]
add ecx, dword [esi]
movq xmm0, qword [str._r_n]
movq qword [ecx], xmm0
mov ax, word [0x42f9d8]
mov word [ecx + 8], ax
mov ecx, esi
mov dword [esi], edi
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
add edx, 0xfffff
adc eax, 0
shrd edx, eax, 0x14
shr eax, 0x14
call fcn.0040e190
mov esi, eax
mov edi, dword [esi]
add edi, 0x22
cmp edi, dword [esi + 4]
jb 0x40bf8e
push edi
mov ecx, esi
call fcn.004049c2
mov eax, dword [esi + 8]
add eax, dword [esi]
push 0x22
push str._MBytes_user_address_space_free._r_n
push eax
call fcn.00414710
add esp, 0xc
mov dword [esi], edi
mov ecx, dword [ebp - 8]
pop edi
xor ecx, ebp
pop esi
call fcn.00411abb
mov esp, ebp
pop ebp
ret 4