Function at 0x140002e90
Capabilities:
Get memory capacity

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x140048060]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0x80], 0x40
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rdi, qword [rbp + 0x88]
shr rdi, 0x1e
cmp edi, 3
jg 0x140002f08
mov ecx, 3
call fcn.1400175e8
mov rbx, rax
mov rcx, rax
call fcn.140016b38
mov rcx, rbx
call fcn.140016b38
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.1400029a0
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
call fcn.14000a280
mov rcx, rax
call fcn.140008660
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x70]
call fcn.14000fac0
mov r15, qword [rsp + 0x60]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 8
jb 0x140003195
lea r14, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae r14, qword [rsp + 0x50]
xor edx, edx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rdx
lea rsi, [r15 + 8]
mov ebx, 0xf
lea rdi, [rsp + 0x30]
cmp rsi, rbx
jbe 0x140003019
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
jbe 0x140002faf
mov rbx, rcx
jmp 0x140002fbb
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
mov rcx, rbx
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x140003002
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000319b
mov rcx, rax
call fcn.14000d518
test rax, rax
je 0x1400031a1
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140003014
test rcx, rcx
je 0x140003011
call fcn.14000d518
mov rdi, rax
jmp 0x140003014
mov rdi, rdx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
mov r8, r15
mov rdx, r14
mov rcx, rdi
call fcn.14000f410
movabs rax, 0x7478742e4d41525f
mov qword [rdi + r15], rax
mov byte [rdi + rsi], 0
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.140006a90
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rbx
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x6c], edx
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400030c3
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400030be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400031a1
call fcn.14000d510
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], rbx
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rsp + 0x78]
call fcn.1400051c0
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rax
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x6c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x18]
call fcn.14000c92c
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140003161
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000315c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000318f
call fcn.14000d510
mov al, 1
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.14000d4f0
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140017570
nop
call fcn.1400015a0
nop
call fcn.140001500
int3
call fcn.140017570
int3