Function at 0x428170
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x3c
push esi
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov ecx, dword [esp + 0x28]
shr ecx, 0x14
test ecx, ecx
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
push 0x43ae10
jge 0x4281a3
fadd qword [0x43ae08]
sub esp, 8
fstp qword [esp]
call fcn.0042fbc0
mov esi, dword [ebp + 8]
fnstcw word [esp + 0x22]
movzx eax, word [esp + 0x22]
or eax, 0xc00
mov dword [esp + 0x24], eax
add esp, 8
lea eax, [esi + 0xd]
fldcw word [esp + 0x1c]
fistp qword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
push edx
push str.Total_Physical_Memory
fldcw word [esp + 0x22]
push 0x43ade0
push eax
call fcn.0040eee7
mov ecx, dword [esp + 0x40]
add esp, 0x14
test ecx, ecx
push 0x43ae10
fild dword [esp + 0x30]
jge 0x428204
fadd qword [0x43ae08]
fld qword [0x43add8]
sub esp, 8
fmul st(1), st(0)
fmulp st(1)
fstp qword [esp]
call fcn.0042fbc0
fnstcw word [esp + 0x22]
add esp, 8
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x1c], eax
lea eax, [esi + 0x10d]
fldcw word [esp + 0x1c]
fistp qword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
push edx
push str.Available_Physical_Memory
fldcw word [esp + 0x22]
push 0x43ade0
push eax
call fcn.0040eee7
mov ecx, dword [esp + 0x4c]
add esp, 0x14
test ecx, ecx
push 0x43ae10
fild dword [esp + 0x3c]
jge 0x42826f
fadd qword [0x43ae08]
fld qword [0x43add8]
sub esp, 8
fmul st(1), st(0)
fmulp st(1)
fstp qword [esp]
call fcn.0042fbc0
fnstcw word [esp + 0x22]
add esp, 8
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x1c], eax
lea eax, [esi + 0x20d]
fldcw word [esp + 0x1c]
fistp qword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
push edx
push str.Total_Virtual_Memory
fldcw word [esp + 0x22]
push 0x43ade0
push eax
call fcn.0040eee7
mov ecx, dword [esp + 0x50]
add esp, 0x14
test ecx, ecx
push 0x43ae10
fild dword [esp + 0x40]
jge 0x4282da
fadd qword [0x43ae08]
fld qword [0x43add8]
sub esp, 8
fmul st(1), st(0)
fmulp st(1)
fstp qword [esp]
call fcn.0042fbc0
fnstcw word [esp + 0x22]
add esp, 8
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x1c], eax
lea eax, [esi + 0x30d]
fldcw word [esp + 0x1c]
fistp qword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
push edx
push str.Available_Virtual_Memory
fldcw word [esp + 0x22]
push 0x43ade0
push eax
call fcn.0040eee7
mov ecx, dword [esp + 0x44]
add esp, 0x14
test ecx, ecx
push 0x43ae10
fild dword [esp + 0x34]
jge 0x428345
fadd qword [0x43ae08]
fld qword [0x43add8]
sub esp, 8
fmul st(1), st(0)
fmulp st(1)
fstp qword [esp]
call fcn.0042fbc0
fnstcw word [esp + 0x22]
add esp, 8
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x1c], eax
lea eax, [esi + 0x40d]
fldcw word [esp + 0x1c]
fistp qword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
push edx
push str.Total_Page_file_Memory
fldcw word [esp + 0x22]
push 0x43ade0
push eax
call fcn.0040eee7
mov ecx, dword [esp + 0x48]
add esp, 0x14
test ecx, ecx
push 0x43ae10
fild dword [esp + 0x38]
jge 0x4283b0
fadd qword [0x43ae08]
fld qword [0x43add8]
sub esp, 8
fmul st(1), st(0)
fmulp st(1)
fstp qword [esp]
call fcn.0042fbc0
fnstcw word [esp + 0x22]
add esp, 8
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x1c], eax
lea eax, [esi + 0x50d]
fldcw word [esp + 0x1c]
fistp qword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
push edx
push str.Available_Page_file_Memory
fldcw word [esp + 0x22]
push 0x43ade0
push eax
call fcn.0040eee7
mov ecx, dword [esp + 0x38]
push ecx
push str.Current_Memory_Load
lea edx, [esi + 0x60d]
push str.__48s:__d___
push edx
call fcn.0040eee7
add esp, 0x24
mov dword [esi + 4], 7
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret