Function at 0x140052fb0
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, [0x1400bfbf2]
movzx r13d, byte [rdx + rax]
lea rax, [0x1400bd838]
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 0x14005309e
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 0x14005304d
mov rcx, r14
mov r8d, edi
call fcn.14004c9b0
cmp byte [0x1400e08d8], 1
jne 0x140053087
mov eax, edi
and eax, 2
jne 0x140053087
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.1400557c0
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 0x1400531d5
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140053155
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 0x14005312c
add r10, rbp
cmp r10, r8
jae 0x1400531c2
mov r11d, r10d
shr r11d, 4
mov rsi, r10
shr rsi, 0xa
mov rsi, qword [rdx + rsi*8]
bt rsi, r11
jae 0x140053120
lea r11, [rcx + r10]
mov qword [rcx + r10 + 8], rax
mov qword [r9], r11
mov r9, r11
jmp 0x140053120
mov rdx, qword [r14 + 0xb0]
mov r10, qword [rsp + 0x88]
mov rcx, qword [rax + 0x10]
inc rcx
cmp rcx, rdx
jae 0x1400531bf
mov r8, qword [r14 + 0xa8]
jmp 0x140053188
inc rcx
cmp rdx, rcx
je 0x1400531bf
mov rax, qword [r8 + rcx*8]
cmp byte [rax + 0xb0], 0
jne 0x140053180
mov r9d, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], r9
jbe 0x140053180
mov qword [r10], rax
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140053164
jmp 0x1400530d9
mov r9, r10
mov qword [r9], 0
mov r15, qword [rbx]
test r15, r15
jne 0x140053008
mov qword [rsp + 0x38], rbx
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x1400532b8
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x14005322c
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140053878
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x1400532b8
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x140053220
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x140053220
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 0x140053201
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 0x1400532a0
jmp 0x140053201
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 0x140053341
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 0x140053330
cmp rdx, rsi
jae 0x140053330
mov eax, dword [r14 + 0x140]
jmp 0x140053410
cmp eax, 0x59
jbe 0x140053341
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140053324
cmp dword [r14 + 0xa4], 0
jne 0x14005336c
mov eax, dword [r14 + 0x140]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [r14 + 0x138]
ucomiss xmm1, xmm0
jbe 0x140053410
mov edx, 1
mov rcx, r14
xor r8d, r8d
call fcn.140052d50
test rax, rax
jne 0x140053676
mov rcx, r14
mov dl, 1
call fcn.1400500e0
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 0x14005355a
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 0x140053545
cmp rdx, rsi
jae 0x140053545
mov rcx, r14
call fcn.140051700
jmp 0x14005355a
test eax, eax
je 0x140053676
mov rcx, r14
xor edx, edx
call fcn.1400500e0
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 0x14005355a
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 0x14005352e
cmp rdx, rsi
jae 0x14005352e
mov r12, qword [r14 + 0xa8]
mov rsi, qword [r14 + 0xb0]
test rsi, rsi
je 0x14005388c
xor ebx, ebx
nop
mov rax, qword [r12 + rbx*8]
mov rcx, qword [rax + 0x98]
cmp rcx, qword [rax + 0xa0]
je 0x1400534cf
inc rbx
cmp rsi, rbx
jne 0x1400534b0
mov rbx, rsi
lea rax, [rbx + 1]
cmp rax, rsi
jb 0x1400534ec
jmp 0x140053897
inc rax
cmp rax, rsi
jae 0x140053890
mov rcx, qword [r14 + 0xa8]
mov rdx, qword [rcx + rax*8]
mov r8, qword [rdx + 0x98]
cmp r8, qword [rdx + 0xa0]
je 0x1400534e0
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 0x1400534e0
cmp eax, 0x59
jbe 0x14005355a
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140053496
jmp 0x14005355a
cmp eax, 0x59
jbe 0x14005355a
add rdx, rdx
lea rax, [rdx + rdx*4]
cmp rax, rsi
jb 0x140053403
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi]
test rax, rax
mov r12, qword [rsp + 0x80]
je 0x140053676
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x140053605
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 0x1400535dc
add r9, rbp
cmp r9, r8
jae 0x14005366f
mov r10d, r9d
shr r10d, 4
mov r11, r9
shr r11, 0xa
mov r11, qword [rdx + r11*8]
bt r11, r10
jae 0x1400535d0
lea r10, [rcx + r9]
mov qword [rcx + r9 + 8], rax
mov qword [rsi], r10
mov rsi, r10
jmp 0x1400535d0
mov rdx, qword [r14 + 0xb0]
mov rcx, qword [rax + 0x10]
inc rcx
cmp rcx, rdx
jae 0x14005366f
mov r8, qword [r14 + 0xa8]
jmp 0x140053638
inc rcx
cmp rdx, rcx
je 0x14005366f
mov rax, qword [r8 + rcx*8]
cmp byte [rax + 0xb0], 0
jne 0x140053630
mov r9d, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], r9
jbe 0x140053630
mov qword [rsi], rax
mov ecx, dword [rax + r13*4 + 0xc0]
cmp qword [rax + 0x98], rcx
jbe 0x14005360c
jmp 0x140053587
mov qword [rsi], 0
mov rbx, qword [rsp + 0x38]
mov r15, qword [rbx]
test r15, r15
jne 0x140053008
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x140053768
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x1400536dc
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140053878
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x140053768
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x1400536d0
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x1400536d0
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 0x1400536ae
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 0x140053750
jmp 0x1400536ae
mov rbx, qword [rsp + 0x38]
mov qword [rbx], 0
mov edx, 1
mov rcx, r14
xor r8d, r8d
call fcn.140052d50
test rax, rax
je 0x14005391b
mov r15, qword [rbx]
test r15, r15
jne 0x140053008
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x14005390f
mov rcx, qword [r14 + 0xa8]
lea rdx, [rbp*2]
neg rdx
xor r8d, r8d
jmp 0x1400537ec
mov qword [rsi], 0
mov qword [rsi + 8], r9
test r10, r10
jne 0x140053878
nop word cs:[rax + rax]
inc r8
cmp r8, rax
je 0x14005390f
mov r9, qword [rcx + r8*8]
cmp byte [r9 + 0xb0], 0
jne 0x1400537e0
mov r15, qword [r9 + 0x100]
cmp r15, qword [r9 + 0x98]
jae 0x1400537e0
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 0x1400537c0
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 0x140053860
jmp 0x1400537c0
inc dword [r14 + 0x140]
mov rbx, qword [rsp + 0x38]
mov qword [rbx], r15
jmp 0x140053008
xor esi, esi
jmp 0x1400538b5
mov r12, qword [r14 + 0xa8]
test rbx, rbx
je 0x1400538b5
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 0x1400538c4
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 0x14005355a
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.140052c00
mov rcx, r15
call fcn.140080354
inc rbx
cmp rsi, rbx
jne 0x1400538e0
jmp 0x14005355a
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