Function at 0x140052fc0
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, [0x1400c0bf2]
movzx r13d, byte [rdx + rax]
lea rax, [0x1400be838]
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 0x1400530ae
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 0x14005305d
mov rcx, r14
mov r8d, edi
call fcn.14004c9c0
cmp byte [0x1400e18d8], 1
jne 0x140053097
mov eax, edi
and eax, 2
jne 0x140053097
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.1400557d0
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 0x1400531e5
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140053165
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 0x14005313c
add r10, rbp
cmp r10, r8
jae 0x1400531d2
mov r11d, r10d
shr r11d, 4
mov rsi, r10
shr rsi, 0xa
mov rsi, qword [rdx + rsi*8]
bt rsi, r11
jae 0x140053130
lea r11, [rcx + r10]
mov qword [rcx + r10 + 8], rax
mov qword [r9], r11
mov r9, r11
jmp 0x140053130
mov rdx, qword [r14 + 0xb0]
mov r10, qword [rsp + 0x88]
mov rcx, qword [rax + 0x10]
inc rcx
cmp rcx, rdx
jae 0x1400531cf
mov r8, qword [r14 + 0xa8]
jmp 0x140053198
inc rcx
cmp rdx, rcx
je 0x1400531cf
mov rax, qword [r8 + rcx*8]
cmp byte [rax + 0xb0], 0
jne 0x140053190
mov r9d, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], r9
jbe 0x140053190
mov qword [r10], rax
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140053174
jmp 0x1400530e9
mov r9, r10
mov qword [r9], 0
mov r15, qword [rbx]
test r15, r15
jne 0x140053018
mov qword [rsp + 0x38], rbx
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x1400532c8
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x14005323c
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140053888
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x1400532c8
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x140053230
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x140053230
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 0x140053211
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 0x1400532b0
jmp 0x140053211
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 0x140053351
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 0x140053340
cmp rdx, rsi
jae 0x140053340
mov eax, dword [r14 + 0x140]
jmp 0x140053420
cmp eax, 0x59
jbe 0x140053351
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140053334
cmp dword [r14 + 0xa4], 0
jne 0x14005337c
mov eax, dword [r14 + 0x140]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [r14 + 0x138]
ucomiss xmm1, xmm0
jbe 0x140053420
mov edx, 1
mov rcx, r14
xor r8d, r8d
call fcn.140052d60
test rax, rax
jne 0x140053686
mov rcx, r14
mov dl, 1
call fcn.1400500f0
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 0x14005356a
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 0x140053555
cmp rdx, rsi
jae 0x140053555
mov rcx, r14
call fcn.140051710
jmp 0x14005356a
test eax, eax
je 0x140053686
mov rcx, r14
xor edx, edx
call fcn.1400500f0
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 0x14005356a
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 0x14005353e
cmp rdx, rsi
jae 0x14005353e
mov r12, qword [r14 + 0xa8]
mov rsi, qword [r14 + 0xb0]
test rsi, rsi
je 0x14005389c
xor ebx, ebx
nop
mov rax, qword [r12 + rbx*8]
mov rcx, qword [rax + 0x98]
cmp rcx, qword [rax + 0xa0]
je 0x1400534df
inc rbx
cmp rsi, rbx
jne 0x1400534c0
mov rbx, rsi
lea rax, [rbx + 1]
cmp rax, rsi
jb 0x1400534fc
jmp 0x1400538a7
inc rax
cmp rax, rsi
jae 0x1400538a0
mov rcx, qword [r14 + 0xa8]
mov rdx, qword [rcx + rax*8]
mov r8, qword [rdx + 0x98]
cmp r8, qword [rdx + 0xa0]
je 0x1400534f0
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 0x1400534f0
cmp eax, 0x59
jbe 0x14005356a
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x1400534a6
jmp 0x14005356a
cmp eax, 0x59
jbe 0x14005356a
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140053413
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi]
test rax, rax
mov r12, qword [rsp + 0x80]
je 0x140053686
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140053615
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 0x1400535ec
add r9, rbp
cmp r9, r8
jae 0x14005367f
mov r10d, r9d
shr r10d, 4
mov r11, r9
shr r11, 0xa
mov r11, qword [rdx + r11*8]
bt r11, r10
jae 0x1400535e0
lea r10, [rcx + r9]
mov qword [rcx + r9 + 8], rax
mov qword [rsi], r10
mov rsi, r10
jmp 0x1400535e0
mov rdx, qword [r14 + 0xb0]
mov rcx, qword [rax + 0x10]
inc rcx
cmp rcx, rdx
jae 0x14005367f
mov r8, qword [r14 + 0xa8]
jmp 0x140053648
inc rcx
cmp rdx, rcx
je 0x14005367f
mov rax, qword [r8 + rcx*8]
cmp byte [rax + 0xb0], 0
jne 0x140053640
mov r9d, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], r9
jbe 0x140053640
mov qword [rsi], rax
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x14005361c
jmp 0x140053597
mov qword [rsi], 0
mov rbx, qword [rsp + 0x38]
mov r15, qword [rbx]
test r15, r15
jne 0x140053018
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x140053778
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x1400536ec
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140053888
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x140053778
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x1400536e0
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x1400536e0
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 0x1400536be
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 0x140053760
jmp 0x1400536be
mov rbx, qword [rsp + 0x38]
mov qword [rbx], 0
mov edx, 1
mov rcx, r14
xor r8d, r8d
call fcn.140052d60
test rax, rax
je 0x14005392b
mov r15, qword [rbx]
test r15, r15
jne 0x140053018
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x14005391f
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x1400537fc
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140053888
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x14005391f
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x1400537f0
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x1400537f0
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 0x1400537d0
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 0x140053870
jmp 0x1400537d0
inc dword [r14 + 0x140]
mov rbx, qword [rsp + 0x38]
mov qword [rbx], r15
jmp 0x140053018
xor esi, esi
jmp 0x1400538c5
mov r12, qword [r14 + 0xa8]
test rbx, rbx
je 0x1400538c5
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 0x1400538d4
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 0x14005356a
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.140052c10
mov rcx, r15
call fcn.140080484
inc rbx
cmp rsi, rbx
jne 0x1400538f0
jmp 0x14005356a
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
lea r8, str.coreinternalgcimplconservativegc.d
mov edx, 0x27
mov r9d, 0x79f
xor ecx, ecx
call fcn.1400275a0
int3