Function at 0x140008840
Capabilities:
Terminate process

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
movaps xmmword [rsp + 0x20], xmm6
movaps xmmword [rsp + 0x30], xmm7
lea rbp, [0x1400315a0]
movq xmm6, rbp
cmp qword [rcx + 0x18], 0
punpcklqdq xmm6, xmm6
mov rbx, rcx
jle 0x140008887
nop word [rax + rax]
mov rcx, rbx
call sym.collectZCT__system_5808
cmp qword [rbx + 0x18], 0
jg 0x140008878
lea rsi, [0x14002ecc8]
mov r14, qword [rbx + 0x2ba0]
mov r13, qword [sym.imp.KERNEL32.dll_VirtualFree]
pxor xmm7, xmm7
lea rdi, [rsi - 0x68]
lea r12, [rsi + 0x28a8]
nop dword [rax + rax]
test r14, r14
je 0x140008932
mov r8, r14
mov rdx, qword [0x140030d60]
mov r14, qword [r14]
lea rcx, [r8 - 0x10]
mov r10, rcx
and r10, 0xfffffffffffff000
mov rax, qword [r10 + 8]
sub rdx, rax
mov qword [0x140030d60], rdx
cmp rax, 0xfc0
jle 0x140008a20
cmp qword [0x1400315a0], 0
jne 0x1400088fb
movaps xmmword [0x1400315a0], xmm6
lea r8, [r10 + 0x20]
mov rdx, r12
mov rcx, rsi
mov qword [0x140031578], rbp
call sym.del__system_4207
mov r8, qword [r10 + 8]
cmp r8, 0x3f000000
jg 0x140008ae0
mov rdx, r10
mov rcx, rsi
call sym.freeBigChunk__system_4544
test r14, r14
jne 0x1400088b5
mov rax, qword [rbx + 0x2ba8]
mov rcx, rsi
mov qword [rbx + 0x2ba0], 0
lea rdx, [rax - 0x10]
call sym.rawDealloc__system_4738
mov edx, 0x2010
mov rcx, rsi
mov qword [rbx + 0x2ba8], 0
mov qword [rbx + 0x2b90], 0
call sym.rawAlloc__system_4609
movdqa xmm0, xmmword [0x14001b780]
lea rdx, [rax + 0x10]
lea rdi, [rax + 0x18]
mov qword [rax + 8], 1
and rdi, 0xfffffffffffffff8
mov rcx, rdx
mov qword [rax + 0x10], 0
mov qword [rax + 0x2008], 0
sub rcx, rdi
xor eax, eax
add ecx, 0x2000
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [rbx + 0x2ba8], rdx
mov qword [rbx + 0x2ba0], 0
mov rdi, qword [rbx + 0x30]
mov rbp, qword [rbx + 0x40]
movups xmmword [rbx + 0x2b90], xmm0
test rdi, rdi
jle 0x1400089f6
xor esi, esi
nop
mov rdx, qword [rbp + rsi*8]
mov rcx, rbx
add rsi, 1
call sym.markS__system_5769
cmp rdi, rsi
jne 0x1400089e0
mov rcx, rbx
call sym.markGlobals__system_5777
nop
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
mov rcx, rbx
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.sweep__system_5765
mov qword [rcx + 8], 0
mov rdx, qword [r10 + 0x20]
mov qword [r8 - 0x10], rdx
mov rdx, qword [r10 + 0x28]
mov qword [r10 + 0x20], rcx
cmp rax, rdx
jg 0x140008aa8
add rdx, rax
mov qword [r10 + 0x28], rdx
cmp rdx, 0xfc0
jne 0x1400088b0
lea rdx, [rax + 0xf]
test rax, rax
cmovs rax, rdx
mov rdx, qword [r10 + 0x10]
sar rax, 4
lea rcx, [rax + 2]
cmp r10, qword [rdi + rax*8 + 0x78]
je 0x140008b88
mov rax, qword [r10 + 0x18]
mov qword [rax + 0x10], rdx
test rdx, rdx
je 0x140008a88
mov rax, qword [r10 + 0x18]
mov qword [rdx + 0x18], rax
mov qword [r10 + 8], 0x1000
mov rdx, r10
mov rcx, rsi
movaps xmmword [r10 + 0x10], xmm7
call sym.freeBigChunk__system_4544
jmp 0x1400088b0
test rax, rax
lea rdx, [rax + 0xf]
cmovns rdx, rax
sar rdx, 4
add rdx, 2
mov rcx, qword [rdi + rdx*8 + 0x68]
mov qword [r10 + 0x10], rcx
test rcx, rcx
je 0x140008acd
mov qword [rcx + 0x18], r10
mov qword [rdi + rdx*8 + 0x68], r10
add qword [r10 + 0x28], rax
jmp 0x1400088b0
mov rdx, r10
sar rdx, 0x15
movzx eax, dl
mov rax, qword [rdi + rax*8 + 0x2110]
test rax, rax
jne 0x140008b08
jmp 0x140008b32
mov rax, qword [rax]
test rax, rax
je 0x140008b32
cmp rdx, qword [rax + 8]
jne 0x140008b00
mov rcx, r10
mov edx, 1
sar rcx, 0xc
and ecx, 0x1ff
mov r9, rcx
shl rdx, cl
sar r9, 6
not rdx
and qword [rax + r9*8 + 0x10], rdx
mov rax, qword [0x140030d48]
mov rdx, qword [0x140030d50]
mov rcx, r10
cmp rdx, rax
cmovl rdx, rax
sub rax, r8
mov r8d, 0x8000
mov qword [0x140030d48], rax
mov qword [0x140030d50], rdx
xor edx, edx
call r13
test eax, eax
jne 0x1400088b0
lea rcx, str.virtualFree_failing_
call sym.printf.constprop.0
mov ecx, 1
call sym.exit
nop dword [rax]
mov qword [rdi + rcx*8 + 0x68], rdx
test rdx, rdx
je 0x140008a88
mov qword [rdx + 0x18], 0
jmp 0x140008a88