Function at 0x14000cf80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], r9
mov rsi, r8
mov rbx, rdx
cmp rdx, 0x21
jb 0x14000d4d5
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x20], rax
mov edi, dword [rbp + 0xa0]
lea rax, [rsi - 0x20]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x30], rcx
lea rax, [rcx + 0x20]
mov qword [rbp], rax
mov r14, rbx
nop word [rax + rax]
sub edi, 1
jb 0x14000d4b4
mov dword [rbp + 0x1c], edi
mov r9, r14
shr r9, 3
mov rdx, r9
shl rdx, 7
mov r15, qword [rbp + 0x30]
add rdx, r15
imul r8, r9, 0xe0
add r8, r15
cmp r14, 0x40
jae 0x14000d050
mov rdi, qword [r15]
mov rbx, qword [r15 + 0x10]
mov rax, qword [rdx]
mov r9, qword [rdx + 0x10]
cmp rbx, r9
jae 0x14000d060
mov r10, qword [r8]
mov r11, qword [r8 + 0x10]
mov cl, 1
cmp rbx, r11
jb 0x14000d0a0
mov r12, r15
ja 0x14000d0bd
mov r12, r15
cmp rdi, r10
jb 0x14000d0a0
jmp 0x14000d0bd
mov rcx, r15
call sym.core::slice::sort::shared::pivot::median3_rec::hae44f0f72cccf113
mov r12, rax
jmp 0x14000d0bd
setbe r10b
cmp rdi, rax
setb cl
and cl, r10b
mov r10, qword [r8]
mov r11, qword [r8 + 0x10]
cmp rbx, r11
jae 0x14000d084
mov r12, r15
test cl, cl
mov cl, 1
jne 0x14000d0a0
jmp 0x14000d0bd
setbe bl
cmp rdi, r10
setb dil
and dil, bl
mov r12, r15
cmp cl, dil
jne 0x14000d0bd
nop dword [rax]
mov bl, 1
cmp r9, r11
jb 0x14000d0b4
setbe r9b
cmp rax, r10
setb bl
and bl, r9b
xor cl, bl
cmovne rdx, r8
mov r12, rdx
mov rax, r12
sub rax, r15
shr rax, 5
mov qword [rbp + 8], rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rbp - 0x40], xmm1
movaps xmmword [rbp - 0x50], xmm0
cmp qword [rbp + 0x20], 0
je 0x14000d10b
mov rax, qword [r12 + 0x10]
mov rcx, qword [rbp + 0x20]
cmp qword [rcx + 0x10], rax
jb 0x14000d10b
ja 0x14000d2f0
mov rax, qword [r12]
mov rcx, qword [rbp + 0x20]
cmp qword [rcx], rax
jae 0x14000d2f0
cmp r14, qword [rbp + 0x28]
ja 0x14000d8c8
mov r15, r14
shl r15, 5
lea rdi, [rsi + r15]
xor ebx, ebx
mov r13, qword [rbp + 0x30]
mov rax, r13
mov rcx, rdi
mov rdx, qword [rbp + 8]
mov r8, rdx
shl r8, 5
add r8, r13
jmp 0x14000d184
mov r9, qword [r12]
setbe r10b
cmp qword [rax], r9
setb r9b
and r9b, r10b
add rcx, 0xffffffffffffffe0
test r9b, r9b
mov r10, rcx
cmovne r10, rsi
mov r11, rbx
shl r11, 5
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r10 + r11 + 0x10], xmm1
movups xmmword [r10 + r11], xmm0
movzx r9d, r9b
add rbx, r9
add rax, 0x20
cmp rax, r8
jae 0x14000d1b0
mov r9, qword [rax + 0x10]
mov r10, qword [r12 + 0x10]
cmp r9, r10
jae 0x14000d140
add rcx, 0xffffffffffffffe0
mov r9b, 1
mov r10, rsi
jmp 0x14000d160
cmp rdx, r14
je 0x14000d1e0
mov rdx, rbx
shl rdx, 5
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + rdx - 0x10], xmm1
movups xmmword [rcx + rdx - 0x20], xmm0
add rcx, 0xffffffffffffffe0
add rax, 0x20
mov rdx, r14
jmp 0x14000d130
mov rcx, r13
mov r13, rbx
shl r13, 5
mov rdx, rsi
mov r8, r13
call sym.memcpy
mov rax, r14
sub rax, rbx
je 0x14000d29d
lea rcx, [rbx + 1]
cmp r14, rcx
jne 0x14000d210
xor ecx, ecx
jmp 0x14000d272
mov rdx, rax
and rdx, 0xfffffffffffffffe
mov rcx, qword [rbp]
lea r8, [rcx + r13]
add r15, qword [rbp + 0x10]
xor r9d, r9d
movabs r10, 0x7fffffffffffffe
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r8 - 0x10], xmm1
movups xmmword [r8 - 0x20], xmm0
lea rcx, [r9 + 2]
xor r9, r10
shl r9, 5
movups xmm0, xmmword [rdi + r9]
movups xmm1, xmmword [rdi + r9 + 0x10]
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm1
add r8, 0x40
add r15, 0xffffffffffffffc0
mov r9, rcx
cmp rdx, rcx
jne 0x14000d230
test al, 1
je 0x14000d29d
mov rax, qword [rbp + 0x30]
add rax, r13
mov rdx, rcx
not rdx
shl rdx, 5
shl rcx, 5
movups xmm0, xmmword [rdi + rdx]
movups xmm1, xmmword [rdi + rdx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
test rbx, rbx
je 0x14000d2f0
sub r14, rbx
jb 0x14000d891
add r13, qword [rbp + 0x30]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov edi, dword [rbp + 0x1c]
mov dword [rsp + 0x20], edi
mov rcx, r13
mov rdx, r14
mov r8, rsi
mov r9, qword [rbp + 0x28]
call sym.core::slice::sort::stable::quicksort::quicksort::h4709967ced215640
mov r14, rbx
cmp rbx, 0x21
jae 0x14000cfe0
jmp 0x14000d4d1
cmp r14, qword [rbp + 0x28]
ja 0x14000d8c8
mov r15, r14
shl r15, 5
lea rcx, [rsi + r15]
xor r13d, r13d
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rcx
movabs rdi, 0x7fffffffffffffe
mov r11, qword [rbp + 8]
nop
mov rdx, r11
shl rdx, 5
add rdx, qword [rbp + 0x30]
jmp 0x14000d374
mov r8, qword [rax]
seta r9b
cmp qword [r12], r8
setae r8b
or r8b, r9b
add rcx, 0xffffffffffffffe0
test r8b, r8b
mov r9, rcx
cmovne r9, rsi
mov r10, r13
shl r10, 5
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r9 + r10 + 0x10], xmm1
movups xmmword [r9 + r10], xmm0
movzx r8d, r8b
add r13, r8
add rax, 0x20
cmp rax, rdx
jae 0x14000d3a0
mov r8, qword [rax + 0x10]
mov r9, qword [r12 + 0x10]
cmp r9, r8
jae 0x14000d330
add rcx, 0xffffffffffffffe0
xor r8d, r8d
mov r9, rcx
jmp 0x14000d350
cmp r11, r14
je 0x14000d3d0
add rcx, 0xffffffffffffffe0
mov rdx, r13
shl rdx, 5
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + rdx + 0x10], xmm1
movups xmmword [rsi + rdx], xmm0
inc r13
add rax, 0x20
mov r11, r14
jmp 0x14000d320
mov r12, r13
shl r12, 5
mov rcx, qword [rbp + 0x30]
mov rdx, rsi
mov r8, r12
call sym.memcpy
mov rbx, r14
sub rbx, r13
mov r9, qword [rbp + 0x20]
je 0x14000d48c
lea rax, [r13 + 1]
cmp r14, rax
jne 0x14000d403
xor eax, eax
jmp 0x14000d45e
mov rcx, rbx
and rcx, 0xfffffffffffffffe
mov rax, qword [rbp + 0x30]
lea rdx, [rax + r12]
add rdx, 0x20
add r15, qword [rbp + 0x10]
xor r8d, r8d
nop dword [rax]
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdx - 0x10], xmm1
movups xmmword [rdx - 0x20], xmm0
lea rax, [r8 + 2]
xor r8, rdi
shl r8, 5
movups xmm0, xmmword [r9 + r8]
movups xmm1, xmmword [r9 + r8 + 0x10]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
add rdx, 0x40
add r15, 0xffffffffffffffc0
mov r8, rax
cmp rcx, rax
jne 0x14000d420
test bl, 1
je 0x14000d48c
mov rcx, qword [rbp + 0x30]
add rcx, r12
mov rdx, rax
not rdx
shl rdx, 5
shl rax, 5
movups xmm0, xmmword [r9 + rdx]
movups xmm1, xmmword [r9 + rdx + 0x10]
movups xmmword [rcx + rax + 0x10], xmm1
movups xmmword [rcx + rax], xmm0
cmp r14, r13
jb 0x14000d8ca
mov rcx, qword [rbp + 0x30]
add rcx, r12
mov eax, 0
mov qword [rbp + 0x20], rax
cmp rbx, 0x21
mov edi, dword [rbp + 0x1c]
jae 0x14000cfc8
jmp 0x14000d4d5
mov byte [rsp + 0x20], 1
mov rcx, qword [rbp + 0x30]
mov rdx, r14
mov r8, rsi
mov r9, qword [rbp + 0x28]
call sym.core::slice::sort::stable::drift::sort::hf8d12f762245fff8
jmp 0x14000d87d
mov rcx, qword [rbp + 0x30]
cmp rbx, 2
jb 0x14000d87d
lea rax, [rbx + 0x10]
cmp rax, qword [rbp + 0x28]
ja 0x14000d8c8
mov r12, rbx
shr r12, 1
mov r14, r12
shl r14, 5
lea r15, [rcx + r14]
add r14, rsi
cmp rbx, 7
mov qword [rbp + 0x30], rcx
jbe 0x14000d525
mov rdx, rsi
call sym.core::slice::sort::shared::smallsort::sort4_stable::hbaa446a80d2b88c9
mov rcx, r15
mov rdx, r14
call sym.core::slice::sort::shared::smallsort::sort4_stable::hbaa446a80d2b88c9
mov eax, 4
jmp 0x14000d54a
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
mov eax, 1
mov rcx, rbx
sub rcx, r12
mov qword [rbp + 0x28], rcx
cmp rax, r12
jae 0x14000d650
mov edx, eax
shl edx, 5
add rdx, 0xffffffffffffffe0
mov r8, rax
mov qword [rbp + 0x20], r15
jmp 0x14000d597
mov r13, rsi
mov r15, qword [rbp + 0x20]
mov qword [r13], r10
mov qword [r13 + 8], rdi
mov qword [r13 + 0x10], r9
mov qword [r13 + 0x18], r11
inc r8
add rdx, 0x20
cmp r8, r12
je 0x14000d650
mov r13, r8
shl r13, 5
mov rcx, qword [rbp + 0x30]
movups xmm0, xmmword [rcx + r13]
movups xmm1, xmmword [rcx + r13 + 0x10]
movups xmmword [rsi + r13 + 0x10], xmm1
movups xmmword [rsi + r13], xmm0
lea rcx, [rsi + r13]
add rcx, 0xffffffffffffffe0
mov r9, qword [rsi + r13 + 0x10]
mov r10, qword [rsi + r13]
cmp r9, qword [rsi + r13 - 0x10]
jb 0x14000d5d7
ja 0x14000d587
cmp r10, qword [rcx]
jae 0x14000d587
add r13, rsi
mov rdi, qword [r13 + 8]
mov r11, qword [r13 + 0x18]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm1
mov r13, rsi
cmp rcx, rsi
je 0x14000d577
mov rcx, rdx
jmp 0x14000d62d
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
add rcx, 0xffffffffffffffe0
je 0x14000d570
lea r13, [rsi + rcx]
lea r15, [rsi + rcx]
add r15, 0xffffffffffffffe0
cmp r9, qword [rsi + rcx - 0x10]
jb 0x14000d610
ja 0x14000d573
cmp r10, qword [r15]
jb 0x14000d610
jmp 0x14000d573
mov rcx, qword [rbp + 0x28]
cmp rax, rcx
jae 0x14000d73f
mov edx, eax
shl edx, 5
add rdx, 0xffffffffffffffe0
jmp 0x14000d696
mov rdi, r14
mov rcx, qword [rbp + 0x28]
mov qword [rdi], r9
mov qword [rdi + 8], r11
mov qword [rdi + 0x10], r8
mov qword [rdi + 0x18], r10
inc rax
add rdx, 0x20
cmp rax, rcx
je 0x14000d73f
mov rdi, rax
shl rdi, 5
movups xmm0, xmmword [r15 + rdi]
movups xmm1, xmmword [r15 + rdi + 0x10]
movups xmmword [r14 + rdi + 0x10], xmm1
movups xmmword [r14 + rdi], xmm0
lea r13, [r14 + rdi]
add r13, 0xffffffffffffffe0
mov r8, qword [r14 + rdi + 0x10]
mov r9, qword [r14 + rdi]
cmp r8, qword [r14 + rdi - 0x10]
jb 0x14000d6d3
ja 0x14000d686
cmp r9, qword [r13]
jae 0x14000d686
add rdi, r14
mov r11, qword [rdi + 8]
mov r10, qword [rdi + 0x18]
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
mov rdi, r14
cmp r13, r14
je 0x14000d677
mov rcx, rdx
jmp 0x14000d71b
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
add rcx, 0xffffffffffffffe0
je 0x14000d670
lea rdi, [r14 + rcx]
lea r13, [r14 + rcx]
add r13, 0xffffffffffffffe0
cmp r8, qword [r14 + rcx - 0x10]
jb 0x14000d700
ja 0x14000d673
cmp r9, qword [r13]
jb 0x14000d700
jmp 0x14000d673
lea rcx, [r14 - 0x20]
mov rdx, rbx
shl rdx, 5
lea rax, [rsi + rdx]
add rax, 0xffffffffffffffe0
mov r8, qword [rbp + 0x30]
mov qword [rbp + 0x28], rdx
lea r9, [r8 + rdx]
add r9, 0xffffffffffffffe0
mov rdx, rsi
jmp 0x14000d7b9
movzx r15d, r11b
xor r11b, 1
shl r15d, 5
add r14, r15
movzx r11d, r11b
shl r11d, 5
add rdx, r11
add r8, 0x20
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
movzx r10d, r10b
shl r10d, 5
add rax, r10
add rax, 0xffffffffffffffe0
sub rcx, r10
add r9, 0xffffffffffffffe0
dec r12
je 0x14000d82e
mov r13, qword [r14 + 0x10]
mov r15, qword [rdx + 0x10]
mov r10b, 1
mov r11b, 1
mov rdi, r14
cmp r13, r15
jb 0x14000d7e8
mov r11, qword [rdx]
setbe r15b
cmp qword [r14], r11
setb r11b
mov rdi, r14
and r11b, r15b
jne 0x14000d7e8
mov rdi, rdx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
mov r15, qword [rax + 0x10]
mov r13, qword [rcx + 0x10]
mov rdi, rcx
cmp r15, r13
jb 0x14000d770
mov r10, qword [rcx]
setbe r15b
cmp qword [rax], r10
setb r10b
mov rdi, rcx
and r10b, r15b
jne 0x14000d770
mov rdi, rax
jmp 0x14000d770
add rcx, 0x20
test bl, 1
je 0x14000d86f
xor r9d, r9d
xor r10d, r10d
cmp rdx, rcx
setae r9b
setb r10b
mov r11, r14
cmovb r11, rdx
movups xmm0, xmmword [r11]
movups xmm1, xmmword [r11 + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
shl r10d, 5
add rdx, r10
shl r9d, 5
add r14, r9
cmp rdx, rcx
jne 0x14000d8c3
add rax, 0x20
cmp r14, rax
jne 0x14000d8c3
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rax, [0x1400a1a50]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 1
mov qword [rbp - 0x20], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
lea rdx, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14librarycore_src_slice_sort_stablequicksort.rs
lea rcx, [rbp - 0x30]
call sym.core::panicking::panic_fmt::h892a8564dcc06a8f
call sym.core::slice::sort::shared::smallsort::panic_on_ord_violation::he0ff1eb6100dcfb5
ud2
lea r8, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14librarycore_src_slice_sort_stablequicksort.rs
mov rcx, r13
mov rdx, r14
call sym.core::slice::index::slice_start_index_len_fail::h419d9fe760474afb
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov rdx, rsi
mov r8, qword [rbp + 0x28]
call sym.memcpy
mov rcx, rbx
call sym._Unwind_Resume
int3