Function at 0x140077130
Capabilities:
Get memory capacity

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov ebx, r9d
lea rax, [rdx + 0xfff]
shr rax, 0xc
movabs r9, 0xffffffff000
cmp rdx, r9
mov rdi, 0xffffffffffffffff
cmovbe rdi, rax
movabs rax, 0xffffffff001
cmp rdx, rax
jae 0x140077476
mov rbp, r8
mov r14, rcx
mov rsi, qword [rcx + 0xb0]
test rsi, rsi
je 0x14007722a
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x2c], ebx
mov qword [rsp + 0x30], r14
mov rbx, qword [r14 + 0xa8]
mov r13, rsi
neg r13
mov bpl, 1
mov r14d, 1
xor r15d, r15d
jmp 0x1400771d7
cmp r14, rsi
setb bpl
lea rax, [r14 + r13]
inc rax
inc r14
cmp rax, 1
je 0x14007720e
mov r12, qword [rbx + r14*8 - 8]
cmp byte [r12 + 0xb0], 0
je 0x1400771c0
cmp qword [r12 + 0xa0], rdi
jb 0x1400771c0
mov rcx, r12
mov rdx, rdi
call fcn.140077490
mov r15, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
je 0x1400771c0
mov r15, rax
jmp 0x140077211
xor r12d, r12d
test bpl, 1
mov ebx, dword [rsp + 0x2c]
mov rbp, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
je 0x140077230
jmp 0x1400773ed
xor r12d, r12d
xor r15d, r15d
mov esi, dword [r14 + 0x148]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x40], 0x40
lea rcx, [rsp + 0x40]
call sub.KERNEL32.dll_GlobalMemoryStatusEx
test eax, eax
je 0x1400772aa
shl rsi, 0xc
mov rax, qword [rsp + 0x48]
shr rax, 2
movabs rcx, 0x28f5c28f5c28f5c3
mul rcx
shr rdx, 2
mov eax, dword [rsp + 0x44]
cmp eax, 0x5f
jb 0x140077299
cmp rdx, rsi
jae 0x140077299
mov eax, dword [r14 + 0x144]
jmp 0x140077302
cmp eax, 0x59
jbe 0x1400772aa
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140077290
cmp dword [r14 + 0xa4], 0
jne 0x1400772d1
mov eax, dword [r14 + 0x144]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [r14 + 0x13c]
ucomiss xmm1, xmm0
jbe 0x140077302
mov rcx, r14
mov rdx, rdi
mov r8b, 1
call fcn.140076530
mov r12, rax
test rax, rax
jne 0x1400773df
mov byte [r14 + 0xa0], 1
mov rcx, r14
xor edx, edx
xor r8d, r8d
call fcn.140073890
jmp 0x140077324
test eax, eax
je 0x14007731b
mov byte [r14 + 0xa0], 1
mov rcx, r14
xor edx, edx
xor r8d, r8d
call fcn.140073890
test r12, r12
jne 0x1400773ed
mov r13, qword [r14 + 0xb0]
test r13, r13
je 0x1400773c5
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x2c], ebx
mov qword [rsp + 0x30], r14
mov rsi, qword [r14 + 0xa8]
mov rbx, r13
neg rbx
mov bpl, 1
mov r14d, 1
jmp 0x140077377
cmp r14, r13
setb bpl
lea rax, [rbx + r14]
inc rax
inc r14
cmp rax, 1
je 0x1400773ae
mov r12, qword [rsi + r14*8 - 8]
cmp byte [r12 + 0xb0], 0
je 0x140077360
cmp qword [r12 + 0xa0], rdi
jb 0x140077360
mov rcx, r12
mov rdx, rdi
call fcn.140077490
mov r15, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
je 0x140077360
mov r15, rax
jmp 0x1400773b1
xor r12d, r12d
test bpl, 1
mov ebx, dword [rsp + 0x2c]
mov rbp, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
jne 0x1400773ed
mov rcx, r14
mov rdx, rdi
mov r8b, 1
call fcn.140076530
mov r12, rax
test rax, rax
je 0x140077471
mov rcx, r12
mov rdx, rdi
call fcn.140077490
mov r15, rax
add dword [r14 + 0x144], edi
mov r14, r15
shl r14, 0xc
add r14, qword [r12]
shl rdi, 0xc
mov qword [rbp], rdi
test ebx, ebx
je 0x140077419
mov rcx, r12
mov rdx, r15
mov r8d, ebx
call fcn.140070000
cmp byte [0x1400ffa80], 1
jne 0x14007745a
mov rcx, qword [rsp + 0xf0]
mov eax, 1
test rcx, rcx
je 0x14007744e
mov rdx, qword [rcx]
test bl, 8
je 0x140077448
lea r8, [0x1400f7730]
cmp qword [rdx], r8
je 0x14007744e
call qword [rdx + 0x90]
mov rcx, qword [r12 + 0xf8]
mov qword [rcx + r15*8], rax
mov rax, r14
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
jmp 0x14007745a
lea r8, str.coreinternalgcimplconservativegc.d
mov edx, 0x27
mov r9d, 0x7dc
xor ecx, ecx
call fcn.140045f10
int3