Function at 0x140064dc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r14, r9
mov rdi, r8
mov r15, rdx
mov r13, rcx
cmp rdx, 0x21
jae 0x140064e08
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r15
mov r8, rdi
mov r9, r14
call sym.core::slice::sort::shared::smallsort::small_sort_general_with_scratch::h17d1273db44ae174
jmp 0x1400653e2
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x48], rax
mov ebp, dword [rsp + 0x120]
lea rax, [rdi - 0x10]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r14
lea rax, [r13 + 0x10]
mov qword [rsp + 0x60], rax
mov rsi, r15
nop word cs:[rax + rax]
sub ebp, 1
jb 0x1400653bf
mov r9, rsi
shr r9, 3
mov rax, r9
shl rax, 6
add rax, r13
imul r8, r9, 0x70
add r8, r13
cmp rsi, 0x40
mov dword [rsp + 0x44], ebp
jae 0x140064ea0
mov ecx, dword [r13 + 8]
mov edx, dword [rax + 8]
cmp ecx, edx
setb r9b
mov r10d, dword [r8 + 8]
cmp ecx, r10d
setb cl
xor cl, r9b
cmp edx, r10d
setb dl
xor dl, r9b
cmovne rax, r8
test cl, cl
cmovne rax, r13
jmp 0x140064eab
mov rcx, r13
mov rdx, rax
call sym._ZN4core5slice4sort6shared5pivot11median3_rec17hc4c7cc3605d25750E.llvm.12144840361306887425
mov r11, rax
sub r11, r13
shr r11, 4
mov rcx, qword [rax]
mov eax, dword [rax + 8]
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x48], 0
je 0x140064edd
mov rcx, qword [rsp + 0x48]
cmp dword [rcx + 8], eax
jae 0x140065180
cmp rsi, r14
ja 0x1400653f7
mov qword [rsp + 0x70], rsi
mov r14, rsi
shl r14, 4
lea rbx, [rdi + r14]
mov rax, r11
shl rax, 4
add rax, r13
add rax, 8
xor r15d, r15d
mov rcx, r13
mov rdx, rbx
mov qword [rsp + 0x68], r11
mov r8, r11
nop word cs:[rax + rax]
mov r10, r8
sub r10, 3
mov r9d, 0
cmovae r9, r10
shl r9, 4
mov rsi, r13
add r9, r13
cmp rcx, r9
jae 0x140064ff2
nop word cs:[rax + rax]
mov r10d, dword [rcx + 8]
lea r11, [rdx - 0x10]
xor r12d, r12d
cmp r10d, dword [rax]
cmovb r11, rdi
setb r12b
mov r10, r15
shl r10, 4
lea rbp, [r15 + r12]
mov r13d, dword [rcx + 0x18]
shl rbp, 4
cmp r13d, dword [rax]
movups xmm0, xmmword [rcx]
lea r13, [rdx - 0x20]
cmovb r13, rdi
movups xmmword [r11 + r10], xmm0
movups xmm0, xmmword [rcx + 0x10]
adc r15, r12
movups xmmword [r13 + rbp], xmm0
mov r10d, dword [rcx + 0x28]
lea r11, [rdx - 0x30]
xor r12d, r12d
cmp r10d, dword [rax]
cmovb r11, rdi
setb r12b
mov r10, r15
shl r10, 4
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [r11 + r10], xmm0
lea r10, [r15 + r12]
mov r11d, dword [rcx + 0x38]
add rdx, 0xffffffffffffffc0
shl r10, 4
cmp r11d, dword [rax]
mov r11, rdx
cmovb r11, rdi
movups xmm0, xmmword [rcx + 0x30]
movups xmmword [r11 + r10], xmm0
adc r15, r12
add rcx, 0x40
cmp rcx, r9
jb 0x140064f50
mov r9, r8
shl r9, 4
mov r13, rsi
add r9, rsi
jmp 0x140065039
mov r10d, dword [rcx + 8]
add rdx, 0xfffffffffffffff0
mov r11, r15
shl r11, 4
cmp r10d, dword [rax]
mov r10, rdx
cmovb r10, rdi
movups xmm0, xmmword [rcx]
movups xmmword [r10 + r11], xmm0
adc r15, 0
add rcx, 0x10
cmp rcx, r9
jb 0x140065010
mov rsi, qword [rsp + 0x70]
cmp r8, rsi
je 0x140065070
mov r8, r15
shl r8, 4
movups xmm0, xmmword [rcx]
movups xmmword [rdx + r8 - 0x10], xmm0
add rdx, 0xfffffffffffffff0
add rcx, 0x10
mov r8, rsi
jmp 0x140064f20
mov r12, r15
shl r12, 4
mov rcx, r13
mov rdx, rdi
mov r8, r12
call sym.memcpy
mov rdx, rsi
sub rdx, r15
movabs r10, 0xffffffffffffffe
mov r11, qword [rsp + 0x68]
je 0x14006511d
lea rax, [r15 + 1]
cmp rsi, rax
jne 0x1400650b0
xor eax, eax
jmp 0x1400650fd
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rax, qword [rsp + 0x60]
lea r8, [rax + r12]
add r14, qword [rsp + 0x50]
xor r9d, r9d
nop dword [rax + rax]
movups xmm0, xmmword [r14]
movups xmmword [r8 - 0x10], xmm0
lea rax, [r9 + 2]
xor r9, r10
shl r9, 4
movups xmm0, xmmword [rbx + r9]
movups xmmword [r8], xmm0
add r8, 0x20
add r14, 0xffffffffffffffe0
mov r9, rax
cmp rcx, rax
jne 0x1400650d0
test dl, 1
je 0x14006511d
lea rcx, [r12 + r13]
mov r8, rax
not r8
shl r8, 4
shl rax, 4
movups xmm0, xmmword [rbx + r8]
movups xmmword [rcx + rax], xmm0
test r15, r15
mov r14, qword [rsp + 0x58]
je 0x140065180
cmp rsi, r15
jb 0x1400653f9
add r12, r13
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov ebp, dword [rsp + 0x44]
mov dword [rsp + 0x20], ebp
mov rcx, r12
mov r8, rdi
mov r9, r14
call sym.core::slice::sort::stable::quicksort::quicksort::h0af51e9e0a83f5ab
mov rsi, r15
cmp r15, 0x21
jae 0x140064e40
jmp 0x140064de5
cmp rsi, r14
ja 0x1400653f7
mov rbx, r13
mov r14, rsi
shl r14, 4
lea r13, [rdi + r14]
mov rax, r11
shl rax, 4
mov rcx, rbx
add rax, rbx
add rax, 8
xor r12d, r12d
mov rdx, r13
nop
mov rbp, r11
mov r9, r11
sub r9, 3
mov r8d, 0
cmovae r8, r9
shl r8, 4
add r8, rbx
cmp rcx, r8
jae 0x14006527b
nop word cs:[rax + rax]
mov r9d, dword [rax]
lea r10, [rdx - 0x10]
mov r11, r12
shl r11, 4
cmp r9d, dword [rcx + 8]
cmovae r10, rdi
sbb r12, 0xffffffffffffffff
mov r9d, dword [rax]
mov r15, r12
shl r15, 4
cmp r9d, dword [rcx + 0x18]
movups xmm0, xmmword [rcx]
lea r9, [rdx - 0x20]
cmovae r9, rdi
movups xmmword [r10 + r11], xmm0
sbb r12, 0xffffffffffffffff
mov r10d, dword [rax]
mov r11, r12
shl r11, 4
cmp r10d, dword [rcx + 0x28]
movups xmm0, xmmword [rcx + 0x10]
lea r10, [rdx - 0x30]
cmovae r10, rdi
movups xmmword [r9 + r15], xmm0
movups xmm0, xmmword [rcx + 0x20]
sbb r12, 0xffffffffffffffff
movups xmmword [r10 + r11], xmm0
mov r9d, dword [rax]
add rdx, 0xffffffffffffffc0
mov r10, r12
shl r10, 4
cmp r9d, dword [rcx + 0x38]
mov r9, rdx
cmovae r9, rdi
movups xmm0, xmmword [rcx + 0x30]
movups xmmword [r9 + r10], xmm0
sbb r12, 0xffffffffffffffff
add rcx, 0x40
cmp rcx, r8
jb 0x1400651e0
mov r8, rbp
shl r8, 4
add r8, rbx
cmp rcx, r8
jae 0x1400652be
nop word [rax + rax]
mov r9d, dword [rax]
add rdx, 0xfffffffffffffff0
mov r10, r12
shl r10, 4
cmp r9d, dword [rcx + 8]
mov r9, rdx
cmovae r9, rdi
movups xmm0, xmmword [rcx]
movups xmmword [r9 + r10], xmm0
sbb r12, 0xffffffffffffffff
add rcx, 0x10
cmp rcx, r8
jb 0x140065290
cmp rbp, rsi
je 0x1400652f0
add rdx, 0xfffffffffffffff0
mov r8, r12
shl r8, 4
movups xmm0, xmmword [rcx]
movups xmmword [rdi + r8], xmm0
inc r12
add rcx, 0x10
mov r11, rsi
jmp 0x1400651b0
mov rbp, r12
shl rbp, 4
mov rcx, rbx
mov rdx, rdi
mov r8, rbp
call sym.memcpy
mov r15, rsi
sub r15, r12
movabs r9, 0xffffffffffffffe
je 0x14006538e
lea rax, [r12 + 1]
cmp rsi, rax
jne 0x140065325
xor eax, eax
jmp 0x14006536c
mov rcx, r15
and rcx, 0xfffffffffffffffe
lea rdx, [rbx + rbp]
add rdx, 0x10
add r14, qword [rsp + 0x50]
xor r8d, r8d
nop dword [rax]
movups xmm0, xmmword [r14]
movups xmmword [rdx - 0x10], xmm0
lea rax, [r8 + 2]
xor r8, r9
shl r8, 4
movups xmm0, xmmword [r13 + r8]
movups xmmword [rdx], xmm0
add rdx, 0x20
add r14, 0xffffffffffffffe0
mov r8, rax
cmp rcx, rax
jne 0x140065340
test r15b, 1
je 0x14006538e
lea rcx, [rbx + rbp]
mov rdx, rax
not rdx
shl rdx, 4
shl rax, 4
movups xmm0, xmmword [r13 + rdx]
movups xmmword [rcx + rax], xmm0
cmp rsi, r12
jb 0x14006543f
mov r13, rbx
add r13, rbp
mov eax, 0
mov qword [rsp + 0x48], rax
cmp r15, 0x21
mov r14, qword [rsp + 0x58]
mov ebp, dword [rsp + 0x44]
jae 0x140064e2a
jmp 0x140064de5
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
mov rcx, r13
mov rdx, rsi
mov r8, rdi
mov r9, r14
call sym.core::slice::sort::stable::drift::sort::h47a5c8a83ad17d63
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rax, [0x1401d60c0]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 1
mov qword [rsp + 0x98], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
lea rdx, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sort_stablequicksort.rsmid___len
lea rcx, [rsp + 0x88]
call sym.core::panicking::panic_fmt::h50bba86df16ca19f
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sort_stablequicksort.rsmid___len
mov rcx, r12
mov rdx, rsi
call sym.core::slice::index::slice_start_index_len_fail::h8d3d56967d6340e8
int3