Function at 0x14000ada0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x60], xmm7
lea rsi, [0x14002af40]
lea r14, [0x140023700]
movsxd r15, edx
lea r8, [rcx + 0x1f8]
mov rax, rcx
mov rdi, r15
mov rbx, qword [rsi + r8*8 + 8]
mov r11, r15
shl rdi, 5
add rdi, r14
lea r13, [rbx*8]
mov rcx, qword [rdi]
lea r12, [rcx + r13]
mov rbp, qword [r12]
test rbp, rbp
je 0x14000ae38
mov rax, qword [rbp]
shl rbx, 4
mov qword [r12], rax
mov qword [rbp], 0
add qword [0x14002af88], rbx
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
mov rax, rbp
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rbx, rbx
je 0x14000af71
cmp qword [rdi + 8], 0
je 0x14000b268
mov qword [rsp + 0x28], r12
xor eax, eax
mov rdi, rbx
mov rdx, r15
mov dword [rsp + 0x38], 0
shl rdi, 4
shl rdx, 5
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0xc8], r11d
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x30], rdi
lea rdi, [r14 + rdx]
mov qword [rsp + 0x40], rbp
mov rbp, rdi
test rax, rax
jne 0x14000af5f
mov r8d, dword [0x14002aaf4]
test r8d, r8d
je 0x14000aebe
cmp dword [0x1400236e8], 0xf423f
je 0x14000aebe
mov ecx, dword [0x14002aaf0]
test ecx, ecx
je 0x14000b080
mov r15, qword [rbp]
mov rdi, qword [rbp + 8]
add r15, r13
test rdi, rdi
je 0x14000b0a8
add rdi, r13
nop dword [rax]
mov r8, qword [rdi]
test r8, r8
je 0x14000af4e
mov rdx, r8
shr rdx, 0x16
mov rax, rdx
and eax, 0x7ff
mov rax, qword [rsi + rax*8 + 0x263e0]
cmp qword [rax + 0x2010], rdx
je 0x14000af25
mov rcx, qword [0x14002b020]
jmp 0x14000af20
mov rax, qword [rax + 0x2018]
cmp rdx, qword [rax + 0x2010]
je 0x14000af25
cmp rcx, rax
jne 0x14000af10
mov rdx, r8
mov rcx, r8
shr rdx, 0xc
and edx, 0x3ff
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax]
mov qword [rdi], rdx
mov rdx, qword [rax + 0x20]
call sym.GC_reclaim_small_nonempty_block.constprop.0
cmp qword [r15], 0
je 0x14000aed8
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
test rax, rax
je 0x14000b0a8
mov dword [0x14002a2c8], 0
mov rbp, rax
jmp 0x14000adff
mov r9d, dword [0x14002a274]
test r9d, r9d
je 0x14000b47a
movsxd rdi, dword [0x14002af10]
mov r10, 0xfffffffffffffff0
sub r10, rdi
cmp rax, r10
jae 0x14000b837
lea r9, [rdi + rax + 0xf]
mov rax, r9
and r9, 0xfffffffffffffff0
mov rbx, r9
mov rdx, r9
shr rax, 4
shr rbx, 3
sub rdx, rbx
cmp qword [rsi + rdx*8 + 0xfc8], 0
jne 0x14000b206
mov rdx, r9
shr rdx, 2
sub r9, rdx
cmp qword [rsi + r9*8 + 0xfc8], 0
je 0x14000afee
lea rdx, [0x14002bf08]
add r9, 1
cmp qword [rdx + r9*8], 0
jne 0x14000afe3
add rax, 1
mov ebx, 0x100
and rax, 0xfffffffffffffffe
mov r10, rax
mov eax, pe_nt_image_headers64
cmp r10, rax
cmova r10, rax
mov rax, rbx
xor edx, edx
div r10
xor edx, edx
mov r10, rax
mov rax, rbx
div r10
and rax, 0xfffffffffffffffe
mov r10, rax
shl r10, 4
sub r10, rdi
cmp r10, r9
jb 0x14000b05a
mov rdx, r10
sub rdx, r9
cmp rdx, 5
jbe 0x14000b046
cmp r10, 0xffffffffffffffff
jne 0x14000b4c0
lea rdx, [0x14002bf08]
mov qword [rdx + r9*8], rax
add r9, 1
cmp r10, r9
jae 0x14000b04d
mov rbx, qword [rsi + r8*8 + 8]
lea r13, [rbx*8]
lea r12, [rcx + r13]
mov rax, qword [r12]
test rax, rax
je 0x14000b255
mov rbp, rax
jmp 0x14000adff
mov ecx, 1
call sym.GC_collect_a_little_inner.lto_priv.0
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x14000af4e
mov r15, qword [rbp]
add r15, r13
jmp 0x14000aed2
cmp qword [rsp + 0x30], 0xffffffffffffefff
ja 0x14000b1c1
movabs rcx, 0x7ffffffffffffffe
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0xfff]
mov rax, rdx
and rdx, 0xfffffffffffff000
shr rax, 0xc
cmp rcx, rdx
jb 0x14000b1c1
mov edi, eax
cmp rax, 0x20
jbe 0x14000b102
mov edi, 0x3c
cmp rax, 0xff
ja 0x14000b102
sub eax, 0x20
sar eax, 3
lea edi, [rax + 0x20]
mov edx, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov r8d, edi
call sym.GC_allochblk_nth.constprop.2
mov rdx, rax
test rax, rax
je 0x14000b723
mov rax, qword [rsp + 0x48]
lea r11, [rdx + 0x80]
lea r8, [rbx + rbx]
prefetcht0 byte [rdx]
prefetcht0 byte [r11]
prefetcht0 byte [rdx + 0x100]
prefetcht0 byte [rdx + 0x17a]
shl rax, 5
add rax, r14
mov r10, qword [rax]
mov eax, dword [rax + 0x1c]
add r10, r13
mov r9, qword [r10]
cmp r8, 2
je 0x14000b5b6
cmp r8, 4
je 0x14000b50e
test eax, eax
jne 0x14000b7f8
shl r8, 3
mov r11, rdx
mov rcx, rdx
sub r11, r8
lea rax, [rdx + r8]
lea rdi, [r11 + 0x1000]
cmp rdi, rax
jb 0x14000b1aa
mov r11, rdx
mov qword [rax], r11
mov rcx, rax
add rax, r8
add r11, r8
cmp rdi, rax
jae 0x14000b199
mov qword [rdx], r9
mov qword [r10], rcx
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
test rax, rax
jne 0x14000af5f
mov edx, dword [0x14002aaf4]
test edx, edx
je 0x14000b1db
cmp dword [0x1400236e8], 0xf423f
je 0x14000b8ca
mov edx, dword [rsp + 0x38]
mov ecx, 1
call sym.GC_collect_or_expand.constprop.0
test eax, eax
je 0x14000b8f1
mov dword [rsp + 0x38], 1
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
jmp 0x14000ae8f
cmp qword [rsi + rdx*8 + 0xfd0], 0
lea r9, [rdx + 1]
je 0x14000b227
lea rdx, [0x14002bf08]
add r9, 1
cmp qword [rdx + r9*8], 0
jne 0x14000b21c
movabs rdx, 0xfffffffffffffff
cmp r9, r10
jae 0x14000b23f
lea rdx, [rdi + r9 + 0xf]
shr rdx, 4
mov r10, rdx
shr r10, 3
add rdx, r10
cmp rax, rdx
cmovb rax, rdx
jmp 0x14000afee
mov rax, r15
shl rax, 5
cmp qword [r14 + rax + 8], 0
jne 0x14000b3b0
mov r8, qword [0x14002afc0]
mov rax, qword [0x14002afd0]
sub rax, r8
cmp rax, 0x40f
ja 0x14000b35f
cmp dword [0x140023900], 1
mov r8d, dword [0x14002af08]
mov edx, 0x10000
mov dword [rsp + 0xc8], r11d
sbb eax, eax
xor ecx, ecx
and eax, 0xffffffc4
or r8d, 0x3000
lea r9d, [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r11d, dword [rsp + 0xc8]
test eax, 0xfff
mov r8, rax
je 0x14000b3d4
lea rcx, [0x140024245]
mov qword [rsp + 0x28], rax
call sym.GC_default_on_abort.lto_priv.0
mov rdi, qword [sym.imp.KERNEL32.dll_DebugBreak]
call rdi
mov rax, qword [0x14002b050]
mov r8, qword [rsp + 0x28]
mov r11d, dword [rsp + 0xc8]
cmp rax, 0x3ff
jbe 0x14000b326
lea rcx, [0x14002425d]
call sym.GC_default_on_abort.lto_priv.0
call rdi
mov rax, qword [0x14002b050]
mov r8, qword [rsp + 0x28]
mov r11d, dword [rsp + 0xc8]
add qword [0x14002af80], 0x10000
lea rdx, [rax + 1]
cmp dword [0x14002af0c], 2
mov qword [0x14002b050], rdx
mov qword [rsi + rax*8 + 0x163e0], r8
je 0x14000b44a
lea rax, [r8 + 0x10000]
mov qword [0x14002afd0], rax
lea rax, [r8 + 0x410]
mov qword [0x14002afc0], rax
test r8, r8
je 0x14000ae1a
lea rdi, [r8 + 8]
mov rcx, r8
xor eax, eax
mov qword [r8], 0
mov qword [r8 + 0x400], 0
and rdi, 0xfffffffffffffff8
sub rcx, rdi
add ecx, 0x408
shr ecx, 3
rep stosq qword [rdi], rax
mov rax, r15
shl rax, 5
mov qword [r14 + rax + 8], r8
mov rax, r15
shl rax, 5
mov rax, qword [r14 + rax]
test rbx, rbx
je 0x14000ae1a
add rax, r13
mov qword [rsp + 0x28], rax
mov rax, qword [rax]
jmp 0x14000ae53
cmp qword [0x14002b050], 0x3ff
jbe 0x14000b40d
lea rcx, [0x14002425d]
mov dword [rsp + 0xc8], r11d
mov qword [rsp + 0x28], rax
call sym.GC_default_on_abort.lto_priv.0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov r11d, dword [rsp + 0xc8]
mov r8, qword [rsp + 0x28]
test r8, r8
jne 0x14000b82b
mov dword [rsp + 0xc8], r11d
mov edx, 0x410
lea rcx, [0x140024290]
call qword [sym.GC_default_warn_proc]
mov ecx, 0x410
call sym.GC_os_get_mem.lto_priv.0
mov r11d, dword [rsp + 0xc8]
mov r8, rax
jmp 0x14000b36d
mov edx, 0x10000
lea rcx, [0x140024274]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0xc8], r11d
call sym.GC_log_printf
mov r11d, dword [rsp + 0xc8]
mov r8, qword [rsp + 0x28]
jmp 0x14000b351
mov qword [rsp + 0x28], r8
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0xc8], r15d
call sym.GC_init.part.0
mov r8, qword [rsp + 0x28]
mov rcx, qword [rdi]
mov rax, qword [rsp + 0xc0]
mov r11d, dword [rsp + 0xc8]
mov rbx, qword [rsi + r8*8 + 8]
test rbx, rbx
jne 0x14000b05f
jmp 0x14000af81
add rdx, 1
movq xmm0, rax
lea rbx, [rsi + r9*8 + 0xfc8]
mov r10, rdx
punpcklqdq xmm0, xmm0
shr r10, 1
shl r10, 4
add r10, rbx
movups xmmword [rbx], xmm0
add rbx, 0x10
cmp rbx, r10
jne 0x14000b4e2
mov r10, rdx
and r10, 0xfffffffffffffffe
add r9, r10
and edx, 1
je 0x14000b05a
mov qword [rsi + r9*8 + 0xfc8], rax
jmp 0x14000b05a
mov qword [rdx], r9
lea rcx, [rdx + 0x1000]
test eax, eax
je 0x14000b7a0
lea r8, [rdx + 0x20]
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], 0
cmp r8, rcx
jae 0x14000b5ae
lea r9, [rdx + 0x40]
cmp rcx, r9
sbb rax, rax
add rdx, 0x220
and rax, 0xffffffffffffff82
add rax, 0x7f
nop word [rax + rax]
lea r11, [rdx - 0x220]
prefetcht0 byte [rdx]
mov qword [rdx - 0x1f8], 0
add rdx, 0x20
mov qword [rdx - 0x220], r11
mov qword [rdx - 0x210], 0
mov qword [rdx - 0x208], 0
sub rax, 1
jne 0x14000b560
cmp rcx, r9
sbb rdx, rdx
not rdx
and edx, 0xfc0
add rdx, r8
mov rcx, rdx
jmp 0x14000b1ad
lea rcx, [rdx + 0x20]
mov qword [rdx], r9
lea r8, [rdx + 0x1000]
mov r11, rcx
test eax, eax
je 0x14000b6cb
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], rdx
mov qword [rdx + 0x18], 0
cmp rcx, r8
jae 0x14000b6c2
lea r9, [rdx + 0x40]
cmp r8, r9
sbb rax, rax
and rax, 0xffffffffffffff82
add rax, 0x7e
cmp rax, 2
jbe 0x14000b857
movq xmm7, r9
movq xmm3, rcx
mov rax, rcx
movdqa xmm6, xmmword [0x1400253a0]
punpcklqdq xmm3, xmm7
movdqa xmm7, xmmword [0x1400253b0]
add rdx, 0xfe0
movdqa xmm4, xmm3
movdqa xmm0, xmm4
movdqa xmm5, xmm3
paddq xmm4, xmm6
add rax, 0x40
paddq xmm0, xmm7
paddq xmm3, xmm6
movdqa xmm2, xmm0
movdqa xmm1, xmm0
punpcklqdq xmm2, xmm5
punpckhqdq xmm1, xmm5
movq xmm5, xmm0
psrldq xmm0, 8
movq xmm0, xmm0
psrldq xmm2, 8
movups xmmword [rax - 0x40], xmm5
movups xmmword [rax - 0x20], xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movups xmmword [rax - 0x30], xmm2
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x14000b634
lea r11, [rcx + 0xfc0]
lea rdx, [rax - 0x10]
cmp r8, r9
mov qword [rax + 0x10], r11
mov qword [rax], rdx
mov qword [rax + 8], 0
mov qword [rax + 0x18], 0
sbb rax, rax
and rax, 0xfffffffffffff040
lea rcx, [rcx + rax + 0xfe0]
sub rcx, 0x10
jmp 0x14000b1ad
mov qword [rdx + 0x10], rdx
cmp rcx, r8
jae 0x14000b6c2
lea r11, [rdx + 0x40]
cmp r8, r11
sbb rax, rax
and rax, 0xffffffffffffff82
lea r9, [rax + 0x80]
mov rax, rcx
shl r9, 5
add r9, rdx
nop dword [rax + rax]
lea rdx, [rax - 0x10]
mov qword [rax + 0x10], rax
add rax, 0x20
mov qword [rax - 0x20], rdx
cmp rax, r9
jne 0x14000b6f8
cmp r8, r11
sbb rax, rax
and rax, 0xfffffffffffff040
lea rcx, [rcx + rax + 0xfe0]
jmp 0x14000b6c2
mov eax, dword [0x14002aaf0]
test eax, eax
jne 0x14000b750
mov rax, qword [rsi]
sub rax, qword [0x14002af60]
cmp rax, qword [0x14002af48]
jb 0x14000b750
mov r15d, dword [0x14002aaf4]
test r15d, r15d
je 0x14000b85f
mov r15d, 0x3c
cmp edi, 0x1f
jg 0x14000b77c
add edi, 1
mov r15d, 0x3c
jmp 0x14000b77c
add edi, 1
cmp r15d, edi
jl 0x14000b1b0
mov edx, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov r8d, edi
call sym.GC_allochblk_nth.constprop.1
mov rdx, rax
test rax, rax
je 0x14000b770
jmp 0x14000b125
lea r9, [rdx + 0x40]
mov qword [rdx + 0x20], rdx
cmp r9, rcx
jae 0x14000b7ef
cmp rcx, r11
mov rax, r9
sbb rdx, rdx
and rdx, 0xffffffffffffffc2
add rdx, 0x3f
lea r8, [rax - 0x20]
mov qword [rax + 0x20], rax
prefetcht0 byte [rax + 0x200]
add rax, 0x40
mov qword [rax - 0x40], r8
sub rdx, 1
jne 0x14000b7be
cmp rcx, r11
sbb rax, rax
and rax, 0xfffffffffffff080
lea r9, [r9 + rax + 0xfc0]
lea rcx, [r9 - 0x20]
jmp 0x14000b1ad
lea rdi, [rdx + 8]
mov rcx, rdx
xor eax, eax
mov qword [rdx], 0
mov qword [rdx + 0xff8], 0
and rdi, 0xfffffffffffffff8
sub rcx, rdi
add ecx, 0x1000
shr ecx, 3
rep stosq qword [rdi], rax
jmp 0x14000b179
mov rax, qword [0x14002b050]
jmp 0x14000b326
movabs rdx, 0xdffffffffffffff2
mov r9, 0xfffffffffffffff0
movabs rax, 0xfffffffffffffff
jmp 0x14000afb8
mov rax, rcx
jmp 0x14000b693
call sym.GC_should_collect.lto_priv.0
test eax, eax
je 0x14000b750
mov rax, qword [rsi]
shr rax, 4
cmp rax, qword [0x14002afa8]
jb 0x14000b1b0
mov rdx, qword [0x14002af68]
mov r9, qword [0x14002af70]
mov eax, 0x3c
lea rcx, [0x14002ad20]
jmp 0x14000b8a6
sub rax, 1
jb 0x14000b8b2
add rdx, qword [rcx + rax*8]
cmp rdx, r9
jb 0x14000b8a0
mov r15d, eax
xor eax, eax
cmp edi, 0x20
setl al
add edi, eax
cmp r15d, edi
jge 0x14000b77c
jmp 0x14000b1b0
mov eax, dword [rsp + 0x3c]
or eax, dword [0x14002aaf0]
jne 0x14000b1db
mov ecx, 1
call sym.GC_collect_a_little_inner.lto_priv.0
mov dword [rsp + 0x3c], 1
jmp 0x14000b1f9
mov rbp, qword [rsp + 0x40]
jmp 0x14000ae1a