Function at 0x14000dca0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov r12, r9
mov rdi, r8
mov r15, rdx
mov rbx, rcx
cmp rdx, 0x21
jae 0x14000dce8
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r15
mov r8, rdi
mov r9, r12
call fcn.14000b320
jmp 0x14000e2ea
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x38], rax
mov esi, dword [rsp + 0x130]
lea rax, [rdi - 0x38]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r12
mov r14, r15
nop dword [rax]
sub esi, 1
jb 0x14000e2c7
mov r9, r14
shr r9, 3
imul rdx, r9, 0xe0
add rdx, rbx
imul r8, r9, 0x188
add r8, rbx
cmp r14, 0x40
mov dword [rsp + 0x44], esi
jae 0x14000ddd0
mov rax, qword [rbx + 0x18]
mov rcx, qword [rdx + 0x18]
movzx r10d, byte [rdx + 0x30]
cmp byte [rbx + 0x30], 0
setne bpl
test r10b, r10b
sete r9b
and r9b, bpl
xor r11d, r11d
cmp rax, rcx
seta r11b
movzx r9d, r9b
cmovne r9d, r11d
mov r11, qword [r8 + 0x18]
movzx esi, byte [r8 + 0x30]
test sil, sil
sete r15b
and r15b, bpl
xor ebp, ebp
cmp rax, r11
seta bpl
movzx r15d, r15b
cmovne r15d, ebp
mov rax, rbx
cmp r9b, r15b
jne 0x14000ddd8
test sil, sil
sete al
test r10b, r10b
setne r10b
and r10b, al
xor eax, eax
cmp rcx, r11
seta al
movzx ecx, r10b
cmovne ecx, eax
xor r9b, cl
cmovne rdx, r8
mov rax, rdx
jmp 0x14000ddd8
mov rcx, rbx
call fcn.14000c2f0
sub rax, rbx
shr rax, 3
movabs rcx, 0x2492492492492493
mul rcx
mov qword [rsp + 0x50], rdx
imul rax, rdx, 0x38
lea rsi, [rbx + rax]
mov rcx, qword [rbx + rax + 0x30]
mov qword [rsp + 0xc0], rcx
movups xmm0, xmmword [rbx + rax]
movups xmm1, xmmword [rbx + rax + 0x10]
movups xmm2, xmmword [rbx + rax + 0x20]
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
cmp qword [rsp + 0x38], 0
je 0x14000de64
mov rcx, qword [rsp + 0x38]
cmp byte [rcx + 0x30], 0
setne al
cmp byte [rsi + 0x30], 0
mov rcx, qword [rcx + 0x18]
sete dl
and dl, al
xor eax, eax
cmp rcx, qword [rsi + 0x18]
seta al
movzx ecx, dl
cmove eax, ecx
cmp al, 1
jne 0x14000e0b0
cmp r14, r12
ja 0x14000e2ff
imul r12, r14, 0x38
lea rbp, [rdi + r12]
xor r15d, r15d
mov rax, rbx
mov rcx, rbp
mov rdx, qword [rsp + 0x50]
nop word cs:[rax + rax]
imul r8, rdx, 0x38
add r8, rbx
cmp rax, r8
jae 0x14000df11
nop dword [rax]
mov r9, qword [rax + 0x18]
cmp byte [rax + 0x30], 0
setne r10b
cmp byte [rsi + 0x30], 0
sete r11b
and r11b, r10b
xor r10d, r10d
cmp r9, qword [rsi + 0x18]
seta r10b
movzx r9d, r11b
cmove r10d, r9d
add rcx, 0xffffffffffffffc8
test r10b, r10b
mov r9, rcx
cmovne r9, rdi
imul r11, r15, 0x38
mov r13, qword [rax + 0x30]
mov qword [r9 + r11 + 0x30], r13
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r9 + r11 + 0x20], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r9 + r11 + 0x10], xmm1
movups xmmword [r9 + r11], xmm0
movzx r9d, r10b
add r15, r9
add rax, 0x38
cmp rax, r8
jb 0x14000dea0
cmp rdx, r14
je 0x14000df50
imul rdx, r15, 0x38
mov r8, qword [rax + 0x30]
mov qword [rcx + rdx - 8], r8
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rcx + rdx - 0x18], xmm2
movups xmmword [rcx + rdx - 0x28], xmm1
movups xmmword [rcx + rdx - 0x38], xmm0
add rcx, 0xffffffffffffffc8
add rax, 0x38
mov rdx, r14
jmp 0x14000de90
imul r13, r15, 0x38
mov rcx, rbx
mov rdx, rdi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov rdx, r14
sub rdx, r15
je 0x14000e058
lea rax, [rbx + r13]
lea rcx, [r15 + 1]
cmp r14, rcx
jne 0x14000df90
xor r9d, r9d
jmp 0x14000e01e
mov rcx, rdx
and rcx, 0xfffffffffffffffe
add r12, qword [rsp + 0x48]
mov r8, rax
xor r10d, r10d
nop word cs:[rax + rax]
mov r9, qword [r12 + 0x30]
mov qword [r8 + 0x30], r9
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmmword [r8 + 0x20], xmm2
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
lea r9, [r10 + 2]
xor r10, 0xfffffffffffffffe
imul r10, r10, 0x38
movups xmm0, xmmword [rbp + r10]
movups xmm1, xmmword [rbp + r10 + 0x10]
movups xmm2, xmmword [rbp + r10 + 0x20]
movups xmmword [r8 + 0x38], xmm0
movups xmmword [r8 + 0x48], xmm1
movups xmmword [r8 + 0x58], xmm2
mov r10, qword [rbp + r10 + 0x30]
mov qword [r8 + 0x68], r10
add r8, 0x70
add r12, 0xffffffffffffff90
mov r10, r9
cmp rcx, r9
jne 0x14000dfb0
test dl, 1
je 0x14000e058
imul rcx, r9, 0x38
not r9
imul r8, r9, 0x38
mov r9, qword [rbp + r8 + 0x30]
mov qword [rax + rcx + 0x30], r9
movups xmm0, xmmword [rbp + r8]
movups xmm1, xmmword [rbp + r8 + 0x10]
movups xmm2, xmmword [rbp + r8 + 0x20]
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
test r15, r15
mov r12, qword [rsp + 0x58]
je 0x14000e0b0
cmp r14, r15
jb 0x14000e301
add r13, rbx
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov esi, dword [rsp + 0x44]
mov dword [rsp + 0x20], esi
mov rcx, r13
mov r8, rdi
mov r9, r12
call fcn.14000dca0
mov r14, r15
cmp r15, 0x21
jae 0x14000dd10
jmp 0x14000dcc5
cmp r14, r12
ja 0x14000e2ff
imul rbp, r14, 0x38
lea rcx, [rdi + rbp]
xor r13d, r13d
mov rax, rbx
mov qword [rsp + 0x38], rcx
mov r15, qword [rsp + 0x50]
nop word cs:[rax + rax]
imul rdx, r15, 0x38
add rdx, rbx
cmp rax, rdx
jae 0x14000e168
nop dword [rax]
cmp byte [rsi + 0x30], 0
setne r8b
cmp byte [rax + 0x30], 0
mov r9, qword [rsi + 0x18]
sete r10b
and r10b, r8b
xor r8d, r8d
cmp r9, qword [rax + 0x18]
seta r8b
movzx r9d, r10b
cmove r8d, r9d
mov r9d, r8d
xor r9b, 1
add rcx, 0xffffffffffffffc8
test r8b, r8b
mov r8, rdi
cmovne r8, rcx
imul r10, r13, 0x38
mov r11, qword [rax + 0x30]
mov qword [r8 + r10 + 0x30], r11
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [r8 + r10 + 0x20], xmm2
movups xmmword [r8 + r10 + 0x10], xmm1
movups xmmword [r8 + r10], xmm0
movzx r8d, r9b
add r13, r8
add rax, 0x38
cmp rax, rdx
jb 0x14000e0f0
cmp r15, r14
je 0x14000e1b0
add rcx, 0xffffffffffffffc8
imul rdx, r13, 0x38
mov r8, qword [rax + 0x30]
mov qword [rdi + rdx + 0x30], r8
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rdi + rdx + 0x20], xmm2
movups xmmword [rdi + rdx + 0x10], xmm1
movups xmmword [rdi + rdx], xmm0
inc r13
add rax, 0x38
mov r15, r14
jmp 0x14000e0e0
mov rsi, r12
imul r12, r13, 0x38
mov rcx, rbx
mov rdx, rdi
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov r15, r14
sub r15, r13
mov r10, qword [rsp + 0x38]
je 0x14000e29b
lea rax, [rbx + r12]
lea rcx, [r13 + 1]
cmp r14, rcx
jne 0x14000e1e8
xor r8d, r8d
jmp 0x14000e261
mov rcx, r15
and rcx, 0xfffffffffffffffe
add rbp, qword [rsp + 0x48]
mov rdx, rax
xor r9d, r9d
nop word [rax + rax]
mov r8, qword [rbp + 0x30]
mov qword [rdx + 0x30], r8
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmm2, xmmword [rbp + 0x20]
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea r8, [r9 + 2]
xor r9, 0xfffffffffffffffe
imul r9, r9, 0x38
movups xmm0, xmmword [r10 + r9]
movups xmm1, xmmword [r10 + r9 + 0x10]
movups xmm2, xmmword [r10 + r9 + 0x20]
movups xmmword [rdx + 0x38], xmm0
movups xmmword [rdx + 0x48], xmm1
movups xmmword [rdx + 0x58], xmm2
mov r9, qword [r10 + r9 + 0x30]
mov qword [rdx + 0x68], r9
add rdx, 0x70
add rbp, 0xffffffffffffff90
mov r9, r8
cmp rcx, r8
jne 0x14000e200
test r15b, 1
je 0x14000e29b
imul rcx, r8, 0x38
not r8
imul rdx, r8, 0x38
mov r8, qword [r10 + rdx + 0x30]
mov qword [rax + rcx + 0x30], r8
movups xmm0, xmmword [r10 + rdx]
movups xmm1, xmmword [r10 + rdx + 0x10]
movups xmm2, xmmword [r10 + rdx + 0x20]
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
cmp r14, r13
jb 0x14000e338
add rbx, r12
mov eax, 0
mov qword [rsp + 0x38], rax
cmp r15, 0x21
mov r12, rsi
mov esi, dword [rsp + 0x44]
jae 0x14000dd0a
jmp 0x14000dcc5
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
mov rcx, rbx
mov rdx, r14
mov r8, rdi
mov r9, r12
call fcn.14000c800
nop
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rax, [0x1400e3c50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
mov qword [rsp + 0x70], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
lea rdx, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sort_stablequicksort.rsmid___lenG_
lea rcx, [rsp + 0x60]
call fcn.1400a2420
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sort_stablequicksort.rsmid___lenG_
mov rcx, r13
mov rdx, r14
call fcn.1400a2840
int3