Function at 0x14005c590
Capabilities:
Get memory capacity

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
lea rbp, [rax - 0x18]
sub rsp, 0x110
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
mov rax, qword [0x1400f80c0]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x70], 0x40
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
lea rdx, str.MemoryStandby_Cache_Normal_Priority_Bytes
lea rcx, [rsp + 0x50]
call fcn.140001350
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
lea rdx, str.MemoryStandby_Cache_Core_Bytes
lea rcx, [rsp + 0x40]
call fcn.140001350
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rdx, str.MemoryStandby_Cache_Reserve_Bytes
lea rcx, [rsp + 0x30]
call fcn.140001350
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea rdx, str.MemoryFree__Zero_Page_List_Bytes
lea rcx, [rsp + 0x20]
call fcn.140001350
nop
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x14005c84e
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.pdh.dll_PdhCollectQueryData]
xorps xmm6, xmm6
test eax, eax
je 0x14005c682
lea rdx, str.Failed_to_collect_query_data.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001570
lea rdx, [0x140001740]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm8, xmm8
jmp 0x14005c6ae
lea r9, [rsp + 0x70]
xor r8d, r8d
mov edx, 0x200
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.pdh.dll_PdhGetFormattedCounterValue]
test eax, eax
je 0x14005c6a7
lea rdx, str.Failed_to_get_formatted_counter_value.
jmp 0x14005c660
movsd xmm8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.pdh.dll_PdhCollectQueryData]
test eax, eax
je 0x14005c6e5
lea rdx, str.Failed_to_collect_query_data.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001570
lea rdx, [0x140001740]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm7, xmm7
jmp 0x14005c70e
lea r9, [rbp - 0x80]
xor r8d, r8d
mov edx, 0x200
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.pdh.dll_PdhGetFormattedCounterValue]
test eax, eax
je 0x14005c709
lea rdx, str.Failed_to_get_formatted_counter_value.
jmp 0x14005c6c4
movsd xmm7, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.pdh.dll_PdhCollectQueryData]
test eax, eax
je 0x14005c745
lea rdx, str.Failed_to_collect_query_data.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001570
lea rdx, [0x140001740]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
jmp 0x14005c770
lea r9, [rsp + 0x60]
xor r8d, r8d
mov edx, 0x200
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.pdh.dll_PdhGetFormattedCounterValue]
test eax, eax
je 0x14005c76a
lea rdx, str.Failed_to_get_formatted_counter_value.
jmp 0x14005c724
movsd xmm0, qword [rsp + 0x68]
addsd xmm7, xmm8
addsd xmm7, xmm0
xor eax, eax
movabs rsi, 0x8000000000000000
movsd xmm8, qword [0x1400e4568]
comisd xmm7, xmm8
jb 0x14005c7a4
subsd xmm7, xmm8
comisd xmm7, xmm8
jae 0x14005c7a4
mov rax, rsi
cvttsd2si rbx, xmm7
add rbx, rax
shr rbx, 0x14
mov rdi, qword [rbp - 0x68]
shr rdi, 0x15
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.pdh.dll_PdhCollectQueryData]
test eax, eax
je 0x14005c7ec
lea rdx, str.Failed_to_collect_query_data.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001570
lea rdx, [0x140001740]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14005c817
lea r9, [rsp + 0x60]
xor r8d, r8d
mov edx, 0x200
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.pdh.dll_PdhGetFormattedCounterValue]
test eax, eax
je 0x14005c811
lea rdx, str.Failed_to_get_formatted_counter_value.
jmp 0x14005c7ce
movsd xmm6, qword [rsp + 0x68]
xor ecx, ecx
comisd xmm6, xmm8
jb 0x14005c82f
subsd xmm6, xmm8
comisd xmm6, xmm8
jae 0x14005c82f
mov rcx, rsi
cvttsd2si rax, xmm6
add rax, rcx
shr rax, 0x14
cmp rbx, rdi
jb 0x14005c84e
cmp rax, 0x400
jae 0x14005c84e
call fcn.14005c450
nop
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14005c85e
call qword [sym.imp.pdh.dll_PdhRemoveCounter]
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14005c86f
call qword [sym.imp.pdh.dll_PdhCloseQuery]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14005c87f
call qword [sym.imp.pdh.dll_PdhRemoveCounter]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14005c890
call qword [sym.imp.pdh.dll_PdhCloseQuery]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14005c8a0
call qword [sym.imp.pdh.dll_PdhRemoveCounter]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14005c8b1
call qword [sym.imp.pdh.dll_PdhCloseQuery]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14005c8c1
call qword [sym.imp.pdh.dll_PdhRemoveCounter]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14005c8d1
call qword [sym.imp.pdh.dll_PdhCloseQuery]
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.1400c60f0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rbp
ret