Function at 0x1401df0a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov qword [rsp + 0x50], r9
mov rdi, r8
mov r12, rdx
mov r14, rcx
cmp rdx, 0x21
jae 0x1401df0ec
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r12
mov r8, rdi
mov r9, qword [rsp + 0x50]
call fcn.1401e1100
jmp 0x1401df710
mov rbp, qword [rsp + 0x158]
mov esi, dword [rsp + 0x150]
lea rax, [rdi - 0x20]
mov qword [rsp + 0x70], rax
lea rax, [r14 + 0x20]
mov qword [rsp + 0x78], rax
mov rdx, r12
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbp
nop word [rax + rax]
sub esi, 1
jb 0x1401df6ee
mov dword [rsp + 0x5c], esi
mov r9, rdx
shr r9, 3
mov r12, r9
shl r12, 7
add r12, r14
imul r13, r9, 0xe0
add r13, r14
cmp rdx, 0x40
mov qword [rsp + 0x68], rdx
jae 0x1401df230
mov r15, qword [r14 + 0x10]
mov rsi, qword [r12 + 0x10]
cmp r15, rsi
setb r14b
jne 0x1401df199
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov rdx, qword [r12]
mov r8, qword [r12 + 8]
mov r14, rax
sub r14, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r14, rax
shr r14, 0x3f
mov rbx, qword [r13 + 0x10]
cmp r15, rbx
setb bpl
jne 0x1401df1d5
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov rdx, qword [r13]
mov r8, qword [r13 + 8]
mov rbp, rax
sub rbp, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne rbp, rax
shr rbp, 0x3f
mov rax, qword [rsp + 0x40]
mov r15, rax
cmp r14b, bpl
mov rbp, qword [rsp + 0x48]
jne 0x1401df244
cmp rsi, rbx
setb sil
jne 0x1401df21c
mov rcx, qword [r12]
mov rax, qword [r12 + 8]
mov rdx, qword [r13]
mov r8, qword [r13 + 8]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne rsi, rax
shr rsi, 0x3f
xor r14b, sil
cmovne r12, r13
mov r15, r12
mov rax, qword [rsp + 0x40]
jmp 0x1401df244
mov rcx, r14
mov rdx, r12
mov r8, r13
call fcn.1401dd1c0
mov r15, rax
mov rax, r14
mov rsi, r15
sub rsi, rax
shr rsi, 5
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
test rbp, rbp
mov r14, rax
mov rbx, qword [rsp + 0x68]
je 0x1401df2c6
mov rax, qword [r15 + 0x10]
cmp qword [rbp + 0x10], rax
jne 0x1401df2c0
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, qword [r15]
mov r8, qword [r15 + 8]
mov r12, rsi
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
mov rsi, r12
js 0x1401df2c6
jmp 0x1401df510
jae 0x1401df510
cmp rbx, qword [rsp + 0x50]
ja 0x1401df725
shl rbx, 5
mov qword [rsp + 0x80], rbx
lea rbp, [rdi + rbx]
mov qword [rsp + 0x88], rbp
xor r12d, r12d
mov r13, r14
mov qword [rsp + 0x60], rsi
mov rbx, rsi
nop word [rax + rax]
mov rsi, rbx
shl rsi, 5
add rsi, r14
jmp 0x1401df343
add rbp, 0xffffffffffffffe0
test r14b, r14b
mov rax, rbp
cmovne rax, rdi
mov rcx, r12
shl rcx, 5
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
movzx eax, r14b
add r12, rax
add r13, 0x20
cmp r13, rsi
jae 0x1401df390
mov rax, qword [r13 + 0x10]
cmp rax, qword [r15 + 0x10]
setb r14b
jne 0x1401df310
mov rcx, qword [r13]
mov rax, qword [r13 + 8]
mov rdx, qword [r15]
mov r8, qword [r15 + 8]
mov r14, rax
sub r14, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r14, rax
shr r14, 0x3f
jmp 0x1401df310
mov rax, qword [rsp + 0x68]
cmp rbx, rax
mov rbx, rax
je 0x1401df3d0
mov rax, r12
shl rax, 5
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rbp + rax - 0x10], xmm1
movups xmmword [rbp + rax - 0x20], xmm0
add rbp, 0xffffffffffffffe0
add r13, 0x20
mov r14, qword [rsp + 0x40]
jmp 0x1401df300
mov r13, r12
shl r13, 5
mov r14, qword [rsp + 0x40]
mov rcx, r14
mov rdx, rdi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rsp + 0x88]
mov rdx, rbx
sub rdx, r12
movabs r10, 0x7fffffffffffffe
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
je 0x1401df4b1
lea rax, [r12 + 1]
cmp rbx, rax
jne 0x1401df420
xor eax, eax
jmp 0x1401df481
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rax, qword [rsp + 0x78]
lea r8, [rax + r13]
mov rbp, qword [rsp + 0x80]
add rbp, qword [rsp + 0x70]
xor r9d, r9d
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [r8 - 0x10], xmm1
movups xmmword [r8 - 0x20], xmm0
lea rax, [r9 + 2]
xor r9, r10
shl r9, 5
movups xmm0, xmmword [r11 + r9]
movups xmm1, xmmword [r11 + r9 + 0x10]
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm1
add r8, 0x40
add rbp, 0xffffffffffffffc0
mov r9, rax
cmp rcx, rax
jne 0x1401df440
test dl, 1
mov rbp, qword [rsp + 0x48]
je 0x1401df4b1
lea rcx, [r14 + r13]
mov r8, rax
not r8
shl r8, 5
shl rax, 5
movups xmm0, xmmword [r11 + r8]
movups xmm1, xmmword [r11 + r8 + 0x10]
movups xmmword [rcx + rax + 0x10], xmm1
movups xmmword [rcx + rax], xmm0
test r12, r12
je 0x1401df510
cmp rbx, r12
jb 0x1401df727
add r13, r14
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov esi, dword [rsp + 0x5c]
mov dword [rsp + 0x20], esi
mov rcx, r13
mov r8, rdi
mov r9, qword [rsp + 0x50]
call fcn.1401df0a0
mov rdx, r12
cmp r12, 0x21
jae 0x1401df120
jmp 0x1401df0c7
cmp rbx, qword [rsp + 0x50]
ja 0x1401df725
shl rbx, 5
mov qword [rsp + 0x60], rbx
lea r12, [rdi + rbx]
xor r13d, r13d
mov qword [rsp + 0x48], r12
mov rbp, rsi
shl rsi, 5
add rsi, qword [rsp + 0x40]
jmp 0x1401df574
mov eax, ebx
xor al, 1
add r12, 0xffffffffffffffe0
test bl, bl
mov rcx, rdi
cmovne rcx, r12
mov rdx, r13
shl rdx, 5
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
movups xmmword [rcx + rdx], xmm0
movzx eax, al
add r13, rax
add r14, 0x20
cmp r14, rsi
jae 0x1401df5c0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r14 + 0x10]
setb bl
jne 0x1401df540
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
mov rdx, qword [r14]
mov r8, qword [r14 + 8]
mov rbx, rax
sub rbx, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne rbx, rax
shr rbx, 0x3f
jmp 0x1401df540
mov rsi, qword [rsp + 0x68]
cmp rbp, rsi
je 0x1401df600
add r12, 0xffffffffffffffe0
mov rax, r13
shl rax, 5
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rdi + rax + 0x10], xmm1
movups xmmword [rdi + rax], xmm0
inc r13
add r14, 0x20
jmp 0x1401df530
mov r15, r13
shl r15, 5
mov r14, qword [rsp + 0x40]
mov rcx, r14
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov r12, rsi
sub r12, r13
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
je 0x1401df6ca
lea rax, [r13 + 1]
cmp rsi, rax
jne 0x1401df63d
xor eax, eax
jmp 0x1401df69e
mov rcx, r12
and rcx, 0xfffffffffffffffe
lea rdx, [r14 + r15]
add rdx, 0x20
add r11, qword [rsp + 0x70]
xor r8d, r8d
movabs r9, 0x7fffffffffffffe
nop
movups xmm0, xmmword [r11]
movups xmm1, xmmword [r11 + 0x10]
movups xmmword [rdx - 0x10], xmm1
movups xmmword [rdx - 0x20], xmm0
lea rax, [r8 + 2]
xor r8, r9
shl r8, 5
movups xmm0, xmmword [r10 + r8]
movups xmm1, xmmword [r10 + r8 + 0x10]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
add rdx, 0x40
add r11, 0xffffffffffffffc0
mov r8, rax
cmp rcx, rax
jne 0x1401df660
test r12b, 1
je 0x1401df6ca
lea rcx, [r14 + r15]
mov rdx, rax
not rdx
shl rdx, 5
shl rax, 5
movups xmm0, xmmword [r10 + rdx]
movups xmm1, xmmword [r10 + rdx + 0x10]
movups xmmword [rcx + rax + 0x10], xmm1
movups xmmword [rcx + rax], xmm0
cmp rsi, r13
jb 0x1401df76d
add r14, r15
mov ebp, 0
cmp r12, 0x21
mov esi, dword [rsp + 0x5c]
jae 0x1401df104
jmp 0x1401df0c7
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
mov rcx, r14
mov r8, rdi
mov r9, qword [rsp + 0x50]
call fcn.1401a8e00
nop
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rax, [0x1402c5940]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
mov qword [rsp + 0xa0], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
lea rdx, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sort_stablequicksort.rsmid___len7Y__
lea rcx, [rsp + 0x90]
call fcn.14023de30
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sort_stablequicksort.rsmid___len7Y__
mov rcx, r13
mov rdx, rsi
call fcn.14023e2f0
int3