Function at 0x140076790
Capabilities:
Get memory capacity

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov edi, r9d
mov r12, rdx
lea rax, [0x1400df062]
movzx r13d, byte [rdx + rax]
lea rax, [0x1400dcc98]
movsx rbp, word [rax + r13*2]
mov qword [rsp + 0x90], r8
mov qword [r8], rbp
lea rbx, [rcx + r13*8]
add rbx, 0xc8
mov r15, qword [rcx + r13*8 + 0xc8]
test r15, r15
je 0x14007687e
mov rax, qword [r15]
mov qword [rbx], rax
mov r14, qword [r15 + 8]
mov rdx, r15
sub rdx, qword [r14]
movzx ecx, byte [r14 + 0xb4]
sar rdx, cl
mov rax, qword [r14 + 0x28]
mov r8, rdx
shr r8, 6
mov r9, 0xfffffffffffffffe
mov ecx, edx
rol r9, cl
and qword [rax + r8*8], r9
test edi, edi
je 0x14007682d
mov rcx, r14
mov r8d, edi
call fcn.140070000
cmp byte [0x1400ffa80], 1
jne 0x140076867
mov eax, edi
and eax, 2
jne 0x140076867
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x90]
mov r9, qword [rcx]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.140078fb0
mov rax, r15
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, rcx
lea rax, [rcx + r13*8]
add rax, 0x150
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + r13*8 + 0x150]
test rax, rax
je 0x1400769b5
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140076935
mov rdx, qword [rax + 0xb8]
mov r8d, dword [rdx + rcx*4]
mov dword [rdx + rcx*4], 0xffffffff
mov dword [rax + r13*4 + 0xc0], r8d
mov rdx, rcx
shl rdx, 5
add rdx, qword [rax + 0x28]
shl rcx, 0xc
add rcx, qword [rax]
mov r8d, 0x1001
sub r8, rbp
xor r10d, r10d
mov r9, rbx
jmp 0x14007690c
add r10, rbp
cmp r10, r8
jae 0x1400769a2
mov r11d, r10d
shr r11d, 4
mov rsi, r10
shr rsi, 0xa
mov rsi, qword [rdx + rsi*8]
bt rsi, r11
jae 0x140076900
lea r11, [rcx + r10]
mov qword [rcx + r10 + 8], rax
mov qword [r9], r11
mov r9, r11
jmp 0x140076900
mov rdx, qword [r14 + 0xb0]
mov r10, qword [rsp + 0x88]
mov rcx, qword [rax + 0x10]
inc rcx
cmp rcx, rdx
jae 0x14007699f
mov r8, qword [r14 + 0xa8]
jmp 0x140076968
inc rcx
cmp rdx, rcx
je 0x14007699f
mov rax, qword [r8 + rcx*8]
cmp byte [rax + 0xb0], 0
jne 0x140076960
mov r9d, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], r9
jbe 0x140076960
mov qword [r10], rax
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140076944
jmp 0x1400768b9
mov r9, r10
mov qword [r9], 0
mov r15, qword [rbx]
test r15, r15
jne 0x1400767e8
mov qword [rsp + 0x38], rbx
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x140076a98
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x140076a0c
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140077068
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x140076a98
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x140076a00
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x140076a00
mov r10, qword [r9 + 0xb8]
mov r11d, dword [r10 + r15*4]
mov qword [r9 + 0x100], r11
mov dword [r10 + r15*4], 0xffffffff
mov r10, qword [r9 + 0xa8]
mov byte [r10 + r15], r13b
dec qword [r9 + 0xa0]
mov r10, qword [r9]
shl r15, 0xc
add r15, r10
lea r11, [rdx + r15]
add r11, 0x1001
mov rsi, r15
cmp r15, r11
jae 0x1400769e1
mov rbx, r15
nop word [rax + rax]
lea rsi, [rbx + rbp]
mov qword [rbx], rsi
mov qword [rbx + 8], r9
mov rbx, rsi
cmp rsi, r11
jb 0x140076a80
jmp 0x1400769e1
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
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 0x140076b21
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 0x140076b10
cmp rdx, rsi
jae 0x140076b10
mov eax, dword [r14 + 0x140]
jmp 0x140076bf3
cmp eax, 0x59
jbe 0x140076b21
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140076b04
cmp dword [r14 + 0xa4], 0
jne 0x140076b4c
mov eax, dword [r14 + 0x140]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [r14 + 0x138]
ucomiss xmm1, xmm0
jbe 0x140076bf3
mov edx, 1
mov rcx, r14
xor r8d, r8d
call fcn.140076530
test rax, rax
jne 0x140076e66
mov rcx, r14
xor edx, edx
xor r8d, r8d
call fcn.140073890
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
mov qword [rsp + 0x80], r12
je 0x140076d4a
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 0x140076d35
cmp rdx, rsi
jae 0x140076d35
mov rcx, r14
call fcn.140074ed0
jmp 0x140076d4a
test eax, eax
je 0x140076e66
mov rcx, r14
xor edx, edx
xor r8d, r8d
call fcn.140073890
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
mov qword [rsp + 0x80], r12
je 0x140076d4a
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 0x140076d1e
cmp rdx, rsi
jae 0x140076d1e
mov r12, qword [r14 + 0xa8]
mov rsi, qword [r14 + 0xb0]
test rsi, rsi
je 0x14007707c
xor ebx, ebx
nop word cs:[rax + rax]
mov rax, qword [r12 + rbx*8]
mov rcx, qword [rax + 0x98]
cmp rcx, qword [rax + 0xa0]
je 0x140076cbf
inc rbx
cmp rsi, rbx
jne 0x140076ca0
mov rbx, rsi
lea rax, [rbx + 1]
cmp rax, rsi
jb 0x140076cdc
jmp 0x140077087
inc rax
cmp rax, rsi
jae 0x140077080
mov rcx, qword [r14 + 0xa8]
mov rdx, qword [rcx + rax*8]
mov r8, qword [rdx + 0x98]
cmp r8, qword [rdx + 0xa0]
je 0x140076cd0
mov r8, qword [rcx + rbx*8]
mov qword [rcx + rbx*8], rdx
mov qword [rcx + rax*8], r8
mov rcx, qword [r14 + 0xa8]
mov rcx, qword [rcx + rbx*8]
mov qword [rcx + 0x10], rbx
inc rbx
mov rsi, qword [r14 + 0xb0]
jmp 0x140076cd0
cmp eax, 0x59
jbe 0x140076d4a
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140076c7c
jmp 0x140076d4a
cmp eax, 0x59
jbe 0x140076d4a
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140076be6
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi]
test rax, rax
mov r12, qword [rsp + 0x80]
je 0x140076e66
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140076df5
mov rdx, qword [rax + 0xb8]
mov r8d, dword [rdx + rcx*4]
mov dword [rdx + rcx*4], 0xffffffff
mov dword [rax + r13*4 + 0xc0], r8d
mov rdx, rcx
shl rdx, 5
add rdx, qword [rax + 0x28]
shl rcx, 0xc
add rcx, qword [rax]
mov r8d, 0x1001
sub r8, rbp
xor r9d, r9d
mov rsi, qword [rsp + 0x38]
jmp 0x140076dcc
add r9, rbp
cmp r9, r8
jae 0x140076e5f
mov r10d, r9d
shr r10d, 4
mov r11, r9
shr r11, 0xa
mov r11, qword [rdx + r11*8]
bt r11, r10
jae 0x140076dc0
lea r10, [rcx + r9]
mov qword [rcx + r9 + 8], rax
mov qword [rsi], r10
mov rsi, r10
jmp 0x140076dc0
mov rdx, qword [r14 + 0xb0]
mov rcx, qword [rax + 0x10]
inc rcx
cmp rcx, rdx
jae 0x140076e5f
mov r8, qword [r14 + 0xa8]
jmp 0x140076e28
inc rcx
cmp rdx, rcx
je 0x140076e5f
mov rax, qword [r8 + rcx*8]
cmp byte [rax + 0xb0], 0
jne 0x140076e20
mov r9d, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], r9
jbe 0x140076e20
mov qword [rsi], rax
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140076dfc
jmp 0x140076d77
mov qword [rsi], 0
mov rbx, qword [rsp + 0x38]
mov r15, qword [rbx]
test r15, r15
jne 0x1400767e8
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x140076f58
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x140076ecc
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140077068
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x140076f58
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x140076ec0
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x140076ec0
mov r10, qword [r9 + 0xb8]
mov r11d, dword [r10 + r15*4]
mov qword [r9 + 0x100], r11
mov dword [r10 + r15*4], 0xffffffff
mov r10, qword [r9 + 0xa8]
mov byte [r10 + r15], r13b
dec qword [r9 + 0xa0]
mov r10, qword [r9]
shl r15, 0xc
add r15, r10
lea r11, [rdx + r15]
add r11, 0x1001
mov rsi, r15
cmp r15, r11
jae 0x140076e9e
mov rbx, r15
nop word [rax + rax]
lea rsi, [rbx + rbp]
mov qword [rbx], rsi
mov qword [rbx + 8], r9
mov rbx, rsi
cmp rsi, r11
jb 0x140076f40
jmp 0x140076e9e
mov rbx, qword [rsp + 0x38]
mov qword [rbx], 0
mov edx, 1
mov rcx, r14
xor r8d, r8d
call fcn.140076530
test rax, rax
je 0x14007710b
mov r15, qword [rbx]
test r15, r15
jne 0x1400767e8
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x1400770ff
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x140076fdc
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140077068
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x1400770ff
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x140076fd0
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x140076fd0
mov r10, qword [r9 + 0xb8]
mov r11d, dword [r10 + r15*4]
mov qword [r9 + 0x100], r11
mov dword [r10 + r15*4], 0xffffffff
mov r10, qword [r9 + 0xa8]
mov byte [r10 + r15], r13b
dec qword [r9 + 0xa0]
mov r10, qword [r9]
shl r15, 0xc
add r15, r10
lea r11, [rdx + r15]
add r11, 0x1001
mov rsi, r15
cmp r15, r11
jae 0x140076fb0
mov rbx, r15
nop word [rax + rax]
lea rsi, [rbx + rbp]
mov qword [rbx], rsi
mov qword [rbx + 8], r9
mov rbx, rsi
cmp rsi, r11
jb 0x140077050
jmp 0x140076fb0
inc dword [r14 + 0x140]
mov rbx, qword [rsp + 0x38]
mov qword [rbx], r15
jmp 0x1400767e8
xor esi, esi
jmp 0x1400770a5
mov r12, qword [r14 + 0xa8]
test rbx, rbx
je 0x1400770a5
mov rax, qword [r12]
mov rax, qword [rax]
mov qword [r14 + 0xb8], rax
mov rax, qword [r12 + rbx*8 - 8]
mov rax, qword [rax + 8]
jmp 0x1400770b4
mov qword [r14 + 0xb8], 0
xor ebx, ebx
xor eax, eax
mov qword [r14 + 0xc0], rax
mov qword [r14 + 0xb0], rbx
cmp rsi, rbx
je 0x140076d4a
nop dword [rax + rax]
mov r15, qword [r12 + rbx*8]
mov eax, dword [r15 + 0x98]
sub dword [r14 + 0x148], eax
mov rcx, r15
call fcn.1400763e0
mov rcx, r15
call fcn.140097584
inc rbx
cmp rsi, rbx
jne 0x1400770d0
jmp 0x140076d4a
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
lea r8, str.coreinternalgcimplconservativegc.d
mov edx, 0x27
mov r9d, 0x7b4
xor ecx, ecx
call fcn.140045f10
int3