Function at 0x180073240
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 r12, r9
mov rdi, r8
mov r15, rdx
mov rbx, rcx
cmp rdx, 0x21
jae 0x180073288
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r15
mov r8, rdi
mov r9, r12
call fcn.180084b40
jmp 0x1800737b3
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x38], rax
mov ebp, dword [rsp + 0x120]
lea rax, [rdi - 0x30]
mov qword [rsp + 0x48], rax
mov r14, r15
nop dword [rax + rax]
sub ebp, 1
jb 0x180073790
mov r9, r14
shr r9, 3
lea rax, [r9 + r9*2]
shl rax, 6
add rax, rbx
imul r8, r9, 0x150
add r8, rbx
cmp r14, 0x40
jae 0x180073310
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rax + 0x20]
cmp rcx, rdx
setb r9b
mov r10, qword [r8 + 0x20]
cmp rcx, r10
setb cl
xor cl, r9b
cmp rdx, r10
setb dl
xor dl, r9b
cmovne rax, r8
test cl, cl
cmovne rax, rbx
jmp 0x18007331b
mov rcx, rbx
mov rdx, rax
call fcn.18006fc10
mov rsi, rax
sub rsi, rbx
shr rsi, 4
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rsi, rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
cmp qword [rsp + 0x38], 0
je 0x180073371
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x20]
cmp rcx, qword [rax + 0x20]
jae 0x1800735a0
mov dword [rsp + 0x40], ebp
cmp r14, r12
ja 0x1800737c8
mov rbp, r12
lea r13, [r14 + r14*2]
shl r13, 4
lea r12, [rdi + r13]
lea rax, [rsi + rsi*2]
shl rax, 4
add rax, rbx
add rax, 0x20
xor r15d, r15d
mov rcx, rbx
mov rdx, r12
mov r8, rsi
nop dword [rax + rax]
lea r9, [r8 + r8*2]
shl r9, 4
add r9, rbx
cmp rcx, r9
jae 0x180073403
mov r10, qword [rcx + 0x20]
add rdx, 0xffffffffffffffd0
lea r11, [r15 + r15*2]
shl r11, 4
cmp r10, qword [rax]
mov r10, rdx
cmovb r10, rdi
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [r10 + r11 + 0x20], xmm2
movups xmmword [r10 + r11 + 0x10], xmm1
movups xmmword [r10 + r11], xmm0
adc r15, 0
add rcx, 0x30
cmp rcx, r9
jb 0x1800733c0
cmp r8, r14
je 0x180073440
lea r8, [r15 + r15*2]
shl r8, 4
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [rdx + r8 - 0x10], xmm2
movups xmmword [rdx + r8 - 0x20], xmm1
movups xmmword [rdx + r8 - 0x30], xmm0
add rdx, 0xffffffffffffffd0
add rcx, 0x30
mov r8, r14
jmp 0x1800733b0
mov rax, r15
shl rax, 4
lea r8, [rax + rax*2]
mov rcx, rbx
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, r14
sub rdx, r15
movabs r11, 0xffffffffffffffe
je 0x180073543
lea rax, [r15 + r15*2]
shl rax, 4
add rax, rbx
lea rcx, [r15 + 1]
cmp r14, rcx
jne 0x180073490
xor r9d, r9d
jmp 0x18007350c
mov rcx, rdx
and rcx, 0xfffffffffffffffe
add r13, qword [rsp + 0x48]
mov r8, rax
xor r10d, r10d
nop word cs:[rax + rax]
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmmword [r8 + 0x20], xmm2
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
lea r9, [r10 + 2]
xor r10, r11
lea r10, [r10 + r10*2]
shl r10, 4
movups xmm0, xmmword [r12 + r10]
movups xmm1, xmmword [r12 + r10 + 0x10]
movups xmm2, xmmword [r12 + r10 + 0x20]
movups xmmword [r8 + 0x30], xmm0
movups xmmword [r8 + 0x40], xmm1
movups xmmword [r8 + 0x50], xmm2
add r8, 0x60
add r13, 0xffffffffffffffa0
mov r10, r9
cmp rcx, r9
jne 0x1800734b0
test dl, 1
je 0x180073543
lea rcx, [r9 + r9*2]
not r9
lea r8, [r9 + r9*2]
shl r8, 4
shl rcx, 4
movups xmm0, xmmword [r12 + r8]
movups xmm1, xmmword [r12 + r8 + 0x10]
movups xmm2, xmmword [r12 + r8 + 0x20]
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
test r15, r15
mov r12, rbp
mov ebp, dword [rsp + 0x40]
je 0x1800735a0
cmp r14, r15
jb 0x1800737ca
lea rcx, [r15 + r15*2]
shl rcx, 4
add rcx, rbx
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
mov r8, rdi
mov r9, r12
call fcn.180073240
mov r14, r15
cmp r15, 0x21
jae 0x1800732b0
jmp 0x180073265
mov qword [rsp + 0x40], r12
cmp r14, r12
ja 0x1800737c8
lea r13, [r14 + r14*2]
shl r13, 4
lea r11, [rdi + r13]
lea rax, [rsi + rsi*2]
shl rax, 4
add rax, rbx
add rax, 0x20
xor r12d, r12d
mov rcx, rbx
mov rdx, r11
nop word cs:[rax + rax]
lea r8, [rsi + rsi*2]
shl r8, 4
add r8, rbx
cmp rcx, r8
jae 0x180073633
mov r9, qword [rax]
add rdx, 0xffffffffffffffd0
lea r10, [r12 + r12*2]
shl r10, 4
cmp r9, qword [rcx + 0x20]
mov r9, rdx
cmovae r9, rdi
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [r9 + r10 + 0x20], xmm2
movups xmmword [r9 + r10 + 0x10], xmm1
movups xmmword [r9 + r10], xmm0
sbb r12, 0xffffffffffffffff
add rcx, 0x30
cmp rcx, r8
jb 0x1800735f0
cmp rsi, r14
je 0x180073670
add rdx, 0xffffffffffffffd0
lea r8, [r12 + r12*2]
shl r8, 4
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [rdi + r8 + 0x20], xmm2
movups xmmword [rdi + r8 + 0x10], xmm1
movups xmmword [rdi + r8], xmm0
inc r12
add rcx, 0x30
mov rsi, r14
jmp 0x1800735e0
mov rax, r12
shl rax, 4
lea r8, [rax + rax*2]
mov rcx, rbx
mov rdx, rdi
mov rsi, r11
call sub.VCRUNTIME140.dll_memcpy
movabs r10, 0xffffffffffffffe
mov r15, r14
sub r15, r12
je 0x18007375e
mov r11, rsi
lea rax, [r12 + r12*2]
shl rax, 4
add rax, rbx
lea rcx, [r12 + 1]
cmp r14, rcx
jne 0x1800736bc
xor r8d, r8d
jmp 0x180073726
mov rcx, r15
and rcx, 0xfffffffffffffffe
add r13, qword [rsp + 0x48]
mov rdx, rax
xor r9d, r9d
nop
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea r8, [r9 + 2]
xor r9, r10
lea r9, [r9 + r9*2]
shl r9, 4
movups xmm0, xmmword [r11 + r9]
movups xmm1, xmmword [r11 + r9 + 0x10]
movups xmm2, xmmword [r11 + r9 + 0x20]
movups xmmword [rdx + 0x30], xmm0
movups xmmword [rdx + 0x40], xmm1
movups xmmword [rdx + 0x50], xmm2
add rdx, 0x60
add r13, 0xffffffffffffffa0
mov r9, r8
cmp rcx, r8
jne 0x1800736d0
test r15b, 1
je 0x18007375e
lea rcx, [r8 + r8*2]
not r8
lea rdx, [r8 + r8*2]
shl rdx, 4
shl rcx, 4
movups xmm0, xmmword [r11 + rdx]
movups xmm1, xmmword [r11 + rdx + 0x10]
movups xmm2, xmmword [r11 + rdx + 0x20]
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
cmp r14, r12
jb 0x180073801
lea rax, [r12 + r12*2]
shl rax, 4
add rbx, rax
mov eax, 0
mov qword [rsp + 0x38], rax
cmp r15, 0x21
mov r12, qword [rsp + 0x40]
jae 0x1800732a5
jmp 0x180073265
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
mov rcx, rbx
mov rdx, r14
mov r8, rdi
mov r9, r12
call fcn.18006d2f0
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rax, [0x180154188]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str._rustc_1e4f10ba6476e48a42a79b9f846a2d9366525b9elibrarycore_src_slice_sort_stablequicksort.rsmid___len
lea rcx, [rsp + 0x50]
call fcn.180149210
lea r8, str._rustc_1e4f10ba6476e48a42a79b9f846a2d9366525b9elibrarycore_src_slice_sort_stablequicksort.rsmid___len
mov rcx, r12
mov rdx, r14
call fcn.180149650
int3