Function at 0x140157670
Capabilities:
Get memory capacity

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x140351248]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rbx, rdx
mov qword [rsp + 0x28], rdx
xor esi, esi
mov dword [rsp + 0x20], esi
mov qword [rdx], rsi
mov qword [rdx + 0x10], rsi
mov edi, SafeArrayGetLBound
mov qword [rdx + 0x18], rdi
mov byte [rdx], sil
mov dword [rsp + 0x20], 1
mov qword [rbp - 0x51], rsi
mov qword [rbp - 0x41], rsi
mov qword [rbp - 0x39], rdi
mov byte [rbp - 0x51], sil
mov dword [rbp - 0x29], 0x40
lea rcx, [rbp - 0x29]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
lea r9, [rbp + 0x2c]
mov rcx, qword [rbp - 0x21]
movabs r10, 0xcccccccccccccccd
nop
dec r9
mov rax, r10
mul rcx
mov r8, rdx
shr r8, 3
movzx eax, r8b
shl al, 2
lea edx, [rax + r8]
add dl, dl
sub cl, dl
add cl, 0x30
mov byte [r9], cl
mov rcx, r8
test r8, r8
jne 0x140157700
mov rcx, rsi
mov qword [rbp - 0x71], rcx
mov qword [rbp - 0x61], rsi
mov rax, rdi
mov qword [rbp - 0x59], rax
lea rdx, [rbp + 0x2c]
cmp r9, rdx
je 0x140157763
lea r8, [rbp + 0x2c]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 0x71]
call fcn.1400cf610
mov rax, qword [rbp - 0x59]
mov rcx, qword [rbp - 0x71]
mov dword [rsp + 0x20], 7
lea rdx, [rbp - 0x71]
cmp rbx, rdx
je 0x1401577c2
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1401577ae
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1401577a9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401579c8
mov rcx, r8
call fcn.1401bfb10
mov byte [rbx], 0
movups xmm0, xmmword [rbp - 0x71]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x61]
movups xmmword [rbx + 0x10], xmm1
jmp 0x1401577f6
cmp rax, 0x10
jb 0x1401577f6
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401577f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401579c8
call fcn.1401bfb10
mov r13, qword [rbx + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, 0x37
jb 0x1401579ce
mov r12, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140157821
mov r12, qword [rbx]
mov qword [rbp - 0x71], rsi
lea r15, [r13 + 0x37]
mov rsi, rdi
lea r14, [rbp - 0x71]
cmp r15, rdi
jbe 0x140157862
mov rsi, r15
or rsi, 0xf
cmp rsi, rcx
jbe 0x140157846
mov rsi, rcx
jmp 0x140157852
mov eax, SafeArrayPutElement
cmp rsi, rax
cmovb rsi, rax
lea rcx, [rsi + 1]
call fcn.1400b88d0
mov r14, rax
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], rsi
movups xmm0, xmmword [str._SystemInfoClass__Detail_GetMemoryTotalSize_:_return_:]
movups xmmword [r14], xmm0
movups xmm1, xmmword [0x140279e38]
movups xmmword [r14 + 0x10], xmm1
movups xmm0, xmmword [0x140279e48]
movups xmmword [r14 + 0x20], xmm0
mov eax, dword [0x140279e58]
mov dword [r14 + 0x30], eax
movzx eax, word [0x140279e5c]
mov word [r14 + 0x34], ax
movzx eax, byte [0x140279e5e]
mov byte [r14 + 0x36], al
lea rcx, [r14 + 0x37]
mov r8, r13
mov rdx, r12
call fcn.1401f7750
mov byte [r14 + r15], 0
mov dword [rsp + 0x20], edi
movups xmm0, xmmword [rbp - 0x71]
movups xmmword [rbp - 0x51], xmm0
movups xmm1, xmmword [rbp - 0x61]
movups xmmword [rbp - 0x41], xmm1
xor eax, eax
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x59], rax
lea r12, [rbp - 0x51]
movq rsi, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r15, xmm0
cmp r15, 0x10
cmovae r12, rsi
movq r14, xmm1
cmp r14, 0x10
jae 0x140157919
movups xmm0, xmmword [r12]
movups xmmword [rbp - 0x71], xmm0
jmp 0x14015794d
mov rdi, r14
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
call fcn.1400b88d0
mov qword [rbp - 0x71], rax
lea r8, [r14 + 1]
mov rdx, r12
mov rcx, rax
call fcn.1401f7750
mov qword [rbp - 0x61], r14
mov qword [rbp - 0x59], rdi
lea rcx, [rbp - 0x71]
call fcn.140162100
nop
cmp r15, 0x10
jb 0x140157992
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14015798a
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401579c2
mov rcx, rsi
call fcn.1401bfb10
mov rax, rbx
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1401c0070
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
int3
call fcn.1400cf1a0
int3