Function at 0x14006aec0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov r15, rdx
mov r13, rcx
cmp rdx, 0x11
jae 0x14006afc1
cmp r15, 2
jb 0x14006b550
lea rax, [r15 + r15*4]
lea rsi, [rax*8]
add rsi, r13
lea rdi, [r13 + 0x28]
xor r14d, r14d
lea rbx, [rbp - 0x40]
jmp 0x14006af4b
mov rcx, r13
mov rax, qword [rbp - 0x20]
mov qword [rcx + 0x20], rax
movaps xmm0, xmmword [rbp - 0x40]
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
add rdi, 0x28
add r14, 0xffffffffffffffd8
cmp rdi, rsi
je 0x14006b550
lea rdx, [rdi - 0x28]
mov rcx, rdi
call fcn.1400681f0
test al, al
je 0x14006af3a
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x20], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [rbp - 0x30], xmm1
movaps xmmword [rbp - 0x40], xmm0
mov r15, r14
mov rcx, rdi
nop dword [rax + rax]
mov rax, qword [rcx - 8]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [rcx - 0x28]
movups xmm1, xmmword [rcx - 0x18]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
test r15, r15
je 0x14006af20
mov qword [rbp + 0x38], rcx
lea rdx, [rcx - 0x50]
mov rcx, rbx
call fcn.1400681f0
mov rcx, qword [rbp + 0x38]
add rcx, 0xffffffffffffffd8
add r15, 0x28
test al, al
jne 0x14006af80
jmp 0x14006af23
mov r14, r9
mov rbx, r8
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x30], rax
mov r12d, dword [rbp + 0xb0]
lea rax, [r8 - 0x28]
mov qword [rbp + 8], rax
mov qword [rbp], r9
mov rdx, r15
mov qword [rbp - 8], r13
nop dword [rax]
sub r12d, 1
jb 0x14006b531
mov r9, rdx
shr r9, 3
lea rsi, [r9 + r9*4]
shl rsi, 5
add rsi, r13
imul rdi, r9, 0x118
add rdi, r13
mov qword [rbp + 0x38], rdx
mov rcx, r13
cmp rdx, 0x40
jae 0x14006b060
mov rdx, rsi
call fcn.1400681f0
mov r15d, eax
mov rcx, r13
mov rdx, rdi
call fcn.1400681f0
mov ecx, eax
mov rax, r13
cmp r15b, cl
jne 0x14006b06b
mov rcx, rsi
mov rdx, rdi
call fcn.1400681f0
xor r15b, al
cmovne rsi, rdi
mov rax, rsi
jmp 0x14006b06b
mov rdx, rsi
mov r8, rdi
call fcn.140068670
sub rax, r13
movabs rcx, 0xcccccccccccccccd
mul rcx
mov rcx, rdx
shr rcx, 5
cmp qword [rbp + 0x30], 0
mov r11, qword [rbp + 0x38]
mov dword [rbp + 0x24], r12d
je 0x14006b0bb
lea rax, [rcx + rcx*4]
lea rdx, [rax*8]
add rdx, r13
mov rsi, rcx
mov rcx, qword [rbp + 0x30]
call fcn.14006aa40
mov rcx, rsi
mov r11, qword [rbp + 0x38]
test al, al
je 0x14006b310
cmp r11, r14
ja 0x14006b565
lea rax, [rcx + rcx*4]
lea rdi, [rax*8]
add rdi, r13
lea rax, [r11 + r11*4]
mov qword [rbp - 0x48], rax
lea r12, [rbx + rax*8]
xor r15d, r15d
mov rsi, r13
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x10], rcx
mov r14, rcx
xor eax, eax
mov qword [rbp + 0x28], rax
nop word cs:[rax + rax]
lea rax, [r14 + r14*4]
lea r13, [r13 + rax*8]
cmp rsi, r13
jae 0x14006b154
nop
mov rcx, rsi
mov rdx, rdi
call fcn.14006aa40
add r12, 0xffffffffffffffd8
test al, al
mov rcx, r12
cmovne rcx, rbx
lea rdx, [r15 + r15*4]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rcx + rdx*8], xmm0
movups xmmword [rcx + rdx*8 + 0x10], xmm1
mov r8, qword [rsi + 0x20]
mov qword [rcx + rdx*8 + 0x20], r8
movzx eax, al
add r15, rax
add rsi, 0x28
cmp rsi, r13
jb 0x14006b110
mov rdx, qword [rbp + 0x38]
cmp r14, rdx
je 0x14006b1a0
lea rax, [r15 + r15*4]
lea rcx, [r12 + rax*8]
add rcx, 0xffffffffffffffd8
mov qword [rbp + 0x28], rcx
mov rcx, qword [rsi + 0x20]
mov qword [r12 + rax*8 - 8], rcx
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r12 + rax*8 - 0x18], xmm1
movups xmmword [r12 + rax*8 - 0x28], xmm0
add r12, 0xffffffffffffffd8
add rsi, 0x28
mov r14, rdx
mov r13, qword [rbp - 8]
jmp 0x14006b100
mov rax, qword [rdi + 0x20]
mov rcx, qword [rbp + 0x28]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rax, [r15*8]
lea r8, [rax + rax*4]
mov r13, qword [rbp - 8]
mov rcx, r13
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rbp + 0x38]
mov rdx, r11
sub rdx, r15
mov r14, qword [rbp]
mov r12d, dword [rbp + 0x24]
mov rsi, qword [rbp + 0x18]
je 0x14006b2b6
lea rax, [r15 + r15*4]
lea rax, [rax*8]
add rax, r13
lea rcx, [r15 + 1]
cmp r11, rcx
jne 0x14006b210
xor r10d, r10d
jmp 0x14006b284
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov r8, qword [rbp + 8]
mov r9, qword [rbp - 0x48]
lea r8, [r8 + r9*8]
mov r9, rax
xor r11d, r11d
nop dword [rax]
mov r10, qword [r8 + 0x20]
mov qword [r9 + 0x20], r10
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
lea r10, [r11 + 2]
xor r11, 0xfffffffffffffffe
lea r11, [r11 + r11*4]
movups xmm0, xmmword [rsi + r11*8]
movups xmm1, xmmword [rsi + r11*8 + 0x10]
movups xmmword [r9 + 0x28], xmm0
movups xmmword [r9 + 0x38], xmm1
mov r11, qword [rsi + r11*8 + 0x20]
mov qword [r9 + 0x48], r11
add r9, 0x50
add r8, 0xffffffffffffffb0
mov r11, r10
cmp rcx, r10
jne 0x14006b230
test dl, 1
mov r11, qword [rbp + 0x38]
je 0x14006b2b6
lea rcx, [r10 + r10*4]
not r10
lea r8, [r10 + r10*4]
mov r9, qword [rsi + r8*8 + 0x20]
mov qword [rax + rcx*8 + 0x20], r9
movups xmm0, xmmword [rsi + r8*8]
movups xmm1, xmmword [rsi + r8*8 + 0x10]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
test r15, r15
mov rcx, qword [rbp + 0x10]
je 0x14006b310
cmp r11, r15
jb 0x14006b567
lea rax, [r15 + r15*4]
lea rcx, [rax*8]
add rcx, r13
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x28], 0
mov r8, rbx
mov r9, r14
call fcn.14006aec0
mov rdx, r15
cmp r15, 0x11
jae 0x14006aff0
jmp 0x14006aef3
cmp r11, r14
ja 0x14006b565
lea rax, [rcx + rcx*4]
lea r15, [rax*8]
add r15, r13
lea rax, [r11 + r11*4]
mov qword [rbp + 0x30], rax
lea rsi, [rbx + rax*8]
xor r12d, r12d
mov rdi, r13
mov qword [rbp + 0x18], rsi
xor eax, eax
mov qword [rbp + 0x28], rax
nop word cs:[rax + rax]
mov qword [rbp + 0x10], rcx
lea rax, [rcx + rcx*4]
lea r14, [rax*8]
add r14, r13
cmp rdi, r14
jae 0x14006b3b9
nop dword [rax + rax]
mov rcx, r15
mov rdx, rdi
call fcn.14006aa40
mov ecx, eax
xor cl, 1
add rsi, 0xffffffffffffffd8
test al, al
mov rax, rbx
cmovne rax, rsi
lea rdx, [r12 + r12*4]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + rdx*8], xmm0
movups xmmword [rax + rdx*8 + 0x10], xmm1
mov r8, qword [rdi + 0x20]
mov qword [rax + rdx*8 + 0x20], r8
movzx eax, cl
add r12, rax
add rdi, 0x28
cmp rdi, r14
jb 0x14006b370
mov rdx, qword [rbp + 0x38]
cmp qword [rbp + 0x10], rdx
je 0x14006b400
add rsi, 0xffffffffffffffd8
lea rax, [r12 + r12*4]
lea rcx, [rbx + rax*8]
mov qword [rbp + 0x28], rcx
mov rcx, qword [rdi + 0x20]
mov qword [rbx + rax*8 + 0x20], rcx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + rax*8 + 0x10], xmm1
movups xmmword [rbx + rax*8], xmm0
inc r12
add rdi, 0x28
mov rcx, rdx
jmp 0x14006b350
mov rax, qword [r15 + 0x20]
mov rcx, qword [rbp + 0x28]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rax, [r12*8]
lea r8, [rax + rax*4]
mov rcx, r13
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rbp + 0x38]
mov r15, r11
sub r15, r12
mov rsi, qword [rbp + 0x18]
je 0x14006b4ff
lea rax, [r12 + r12*4]
lea rax, [rax*8]
add rax, r13
lea rcx, [r12 + 1]
cmp r11, rcx
jne 0x14006b465
xor r9d, r9d
jmp 0x14006b4d2
mov rcx, r15
and rcx, 0xfffffffffffffffe
mov rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x30]
lea rdx, [rdx + r8*8]
mov r8, rax
xor r10d, r10d
nop
mov r9, qword [rdx + 0x20]
mov qword [r8 + 0x20], r9
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
lea r9, [r10 + 2]
xor r10, 0xfffffffffffffffe
lea r10, [r10 + r10*4]
movups xmm0, xmmword [rsi + r10*8]
movups xmm1, xmmword [rsi + r10*8 + 0x10]
movups xmmword [r8 + 0x28], xmm0
movups xmmword [r8 + 0x38], xmm1
mov r10, qword [rsi + r10*8 + 0x20]
mov qword [r8 + 0x48], r10
add r8, 0x50
add rdx, 0xffffffffffffffb0
mov r10, r9
cmp rcx, r9
jne 0x14006b480
test r15b, 1
je 0x14006b4ff
lea rcx, [r9 + r9*4]
not r9
lea rdx, [r9 + r9*4]
mov r8, qword [rsi + rdx*8 + 0x20]
mov qword [rax + rcx*8 + 0x20], r8
movups xmm0, xmmword [rsi + rdx*8]
movups xmm1, xmmword [rsi + rdx*8 + 0x10]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
cmp r11, r12
jb 0x14006b599
lea rax, [r12 + r12*4]
lea r13, [r13 + rax*8]
mov eax, 0
mov qword [rbp + 0x30], rax
cmp r15, 0x11
mov r14, qword [rbp]
mov r12d, dword [rbp + 0x24]
jae 0x14006afe5
jmp 0x14006aef3
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
mov rcx, r13
mov r8, rbx
mov r9, r14
call fcn.14006a280
nop
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
lea rax, [0x1402283e0]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
mov qword [rbp - 0x30], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
lea rdx, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sort_stablequicksort.rsmid___len__
lea rcx, [rbp - 0x40]
call fcn.14021ad80
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sort_stablequicksort.rsmid___len__
mov rcx, r12
mov rdx, r11
call fcn.14021b1e0
int3