Function at 0x1401d30e0
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 r15, r9
mov rdi, r8
mov r13, rdx
mov qword [rsp + 0x40], rcx
mov rsi, qword [rsp + 0x160]
cmp rdx, 0x21
jae 0x1401d312c
mov qword [rsp + 0x20], rsi
mov rcx, qword [rsp + 0x40]
mov rdx, r13
mov r8, rdi
mov r9, r15
call fcn.1401ccbb0
jmp 0x1401d3696
mov r14, qword [rsp + 0x158]
mov ebx, dword [rsp + 0x150]
lea rax, [rdi - 0x20]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r15
mov rax, qword [rsp + 0x40]
add rax, 0x20
mov qword [rsp + 0x80], rax
mov r12, r13
mov qword [rsp + 0x70], r14
nop word cs:[rax + rax]
sub ebx, 1
jb 0x1401d3679
mov dword [rsp + 0x4c], ebx
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
mov rdx, r12
mov r8, rsi
call fcn.1401dea00
mov rcx, rax
shl rax, 5
lea rsi, [rbx + rax]
movups xmm0, xmmword [rbx + rax]
movups xmm1, xmmword [rbx + rax + 0x10]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
test r14, r14
mov qword [rsp + 0x78], r12
je 0x1401d3216
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x70]
cmp qword [rdx + 0x10], rax
jne 0x1401d3210
mov r14, rcx
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
mov rbx, rax
sub rbx, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
mov rcx, r14
cdqe
test eax, eax
cmovne rbx, rax
test rbx, rbx
js 0x1401d3216
jmp 0x1401d3460
jae 0x1401d3460
cmp r12, r15
ja 0x1401d36ab
shl r12, 5
mov qword [rsp + 0x88], r12
lea r14, [rdi + r12]
xor r13d, r13d
mov rbp, qword [rsp + 0x40]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rcx
mov rbx, rcx
nop word cs:[rax + rax]
mov r12, rbx
shl r12, 5
add r12, qword [rsp + 0x40]
jmp 0x1401d3291
add r14, 0xffffffffffffffe0
test r15b, r15b
mov rax, r14
cmovne rax, rdi
mov rcx, r13
shl rcx, 5
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
movzx eax, r15b
add r13, rax
add rbp, 0x20
cmp rbp, r12
jae 0x1401d32d0
mov rax, qword [rbp + 0x10]
cmp rax, qword [rsi + 0x10]
setb r15b
jne 0x1401d3260
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
mov r15, rax
sub r15, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r15, rax
shr r15, 0x3f
jmp 0x1401d3260
mov r12, qword [rsp + 0x78]
cmp rbx, r12
je 0x1401d3310
mov rax, r13
shl rax, 5
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [r14 + rax - 0x10], xmm1
movups xmmword [r14 + rax - 0x20], xmm0
add r14, 0xffffffffffffffe0
add rbp, 0x20
mov rbx, r12
jmp 0x1401d3250
mov rbp, r13
shl rbp, 5
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rdx, r12
sub rdx, r13
mov r15, qword [rsp + 0x68]
movabs r10, 0x7fffffffffffffe
mov r11, qword [rsp + 0x50]
je 0x1401d33ff
lea rax, [r13 + 1]
cmp r12, rax
jne 0x1401d3360
xor eax, eax
jmp 0x1401d33d0
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rax, qword [rsp + 0x80]
lea r8, [rax + rbp]
mov rbx, qword [rsp + 0x88]
add rbx, qword [rsp + 0x60]
xor r9d, r9d
nop word cs:[rax + rax]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 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 rbx, 0xffffffffffffffc0
mov r9, rax
cmp rcx, rax
jne 0x1401d3390
test dl, 1
je 0x1401d33ff
mov rcx, qword [rsp + 0x40]
add rcx, rbp
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 r13, r13
mov rcx, qword [rsp + 0x58]
je 0x1401d3460
cmp r12, r13
jb 0x1401d36ad
add rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x160]
mov qword [rsp + 0x30], rsi
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov ebx, dword [rsp + 0x4c]
mov dword [rsp + 0x20], ebx
mov rcx, rbp
mov r8, rdi
mov r9, r15
call fcn.1401d30e0
mov r12, r13
cmp r13, 0x21
mov r14, qword [rsp + 0x70]
jae 0x1401d3170
jmp 0x1401d310f
cmp r12, r15
ja 0x1401d36ab
shl r12, 5
mov qword [rsp + 0x50], r12
lea r13, [rdi + r12]
xor ebp, ebp
mov r15, qword [rsp + 0x40]
mov qword [rsp + 0x58], r13
nop word cs:[rax + rax]
mov r14, rcx
mov r12, rcx
shl r12, 5
add r12, qword [rsp + 0x40]
jmp 0x1401d34e4
mov eax, ebx
xor al, 1
add r13, 0xffffffffffffffe0
test bl, bl
mov rcx, rdi
cmovne rcx, r13
mov rdx, rbp
shl rdx, 5
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
movups xmmword [rcx + rdx], xmm0
movzx eax, al
add rbp, rax
add r15, 0x20
cmp r15, r12
jae 0x1401d3530
mov rax, qword [rsi + 0x10]
cmp rax, qword [r15 + 0x10]
setb bl
jne 0x1401d34b0
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov rdx, qword [r15]
mov r8, qword [r15 + 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 0x1401d34b0
mov r12, qword [rsp + 0x78]
cmp r14, r12
je 0x1401d3570
add r13, 0xffffffffffffffe0
mov rax, rbp
shl rax, 5
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdi + rax + 0x10], xmm1
movups xmmword [rdi + rax], xmm0
inc rbp
add r15, 0x20
mov rcx, r12
jmp 0x1401d3490
mov rsi, rbp
shl rsi, 5
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov r13, r12
sub r13, rbp
mov r15, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x4c]
movabs r9, 0x7fffffffffffffe
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x50]
je 0x1401d364e
lea rax, [rbp + 1]
cmp r12, rax
jne 0x1401d35bd
xor eax, eax
jmp 0x1401d361e
mov rcx, r13
and rcx, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
lea rdx, [rax + rsi]
add rdx, 0x20
add r11, qword [rsp + 0x60]
xor r8d, r8d
nop dword [rax]
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 0x1401d35e0
test r13b, 1
je 0x1401d364e
mov rcx, qword [rsp + 0x40]
add rcx, rsi
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 r12, rbp
jb 0x1401d36f3
add qword [rsp + 0x40], rsi
mov r14d, 0
cmp r13, 0x21
mov rsi, qword [rsp + 0x160]
jae 0x1401d3149
jmp 0x1401d310f
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x20], 1
mov rcx, qword [rsp + 0x40]
mov rdx, r12
mov r8, rdi
mov r9, r15
call fcn.1401cf3d0
nop
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rax, [0x140372198]
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_f6e511eec7342f59a25f7c0534f1dbea00d01b14librarycore_src_slice_sort_stablequicksort.rsmid___len
lea rcx, [rsp + 0x90]
call fcn.14029d7b0
lea r8, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14librarycore_src_slice_sort_stablequicksort.rsmid___len
mov rcx, rbp
mov rdx, r12
call fcn.14029dcb0
int3