Function at 0x1401133a0
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 + 0x30], 0xfffffffffffffffe
mov qword [rbp + 0x10], r9
mov r14, r8
mov r13, rdx
mov r12, rcx
cmp rdx, 0x21
mov qword [rbp + 0x28], r8
jae 0x140113431
cmp r13, 2
jb 0x140113fdf
mov rsi, r13
shr rsi, 1
cmp r13, 0xf
jbe 0x140113ab7
lea r8, [r14 + r13*8]
mov rcx, r12
mov rdx, r14
call fcn.1401140a0
lea rcx, [r12 + rsi*8]
lea rdx, [r14 + rsi*8]
lea r8, [r14 + r13*8]
add r8, 0x40
call fcn.1401140a0
mov ecx, 8
mov rdx, r13
sub rdx, rsi
cmp rcx, rsi
jb 0x140113da2
jmp 0x140113e37
mov rax, qword [rbp + 0xa8]
mov qword [rbp], rax
mov eax, dword [rbp + 0xa0]
lea rcx, [r14 - 0x10]
mov qword [rbp - 8], rcx
lea rcx, [r14 - 8]
mov qword [rbp - 0x10], rcx
lea rcx, [r12 + 0x10]
mov qword [rbp - 0x20], rcx
mov rdi, r13
mov qword [rbp + 0x18], r12
nop word cs:[rax + rax]
sub eax, 1
jb 0x140113a9b
mov dword [rbp + 8], eax
mov r9, rdi
shr r9, 3
mov rdx, r9
shl rdx, 5
add rdx, r12
imul r8, r9, 0x38
add r8, r12
cmp rdi, 0x40
jae 0x140113510
mov eax, dword [r12]
mov r13d, dword [r12 + 4]
mov r9d, dword [rdx]
mov r10d, dword [rdx + 4]
xor r11d, r11d
cmp r13d, r10d
setb r11b
xor ecx, ecx
cmp eax, r9d
setb cl
cmove ecx, r11d
mov r11d, dword [r8]
mov esi, dword [r8 + 4]
xor r12d, r12d
cmp r13d, esi
setb r12b
xor r13d, r13d
cmp eax, r11d
setb r13b
cmove r13d, r12d
mov r12, qword [rbp + 0x18]
mov rax, r12
cmp cl, r13b
jne 0x140113518
xor eax, eax
cmp r10d, esi
setb al
xor r10d, r10d
cmp r9d, r11d
setb r10b
cmove r10d, eax
xor cl, r10b
cmovne rdx, r8
mov rax, rdx
jmp 0x140113518
mov rcx, r12
call fcn.140114580
mov rcx, rax
sub rcx, r12
shr rcx, 3
mov qword [rbp + 0x20], rcx
mov ecx, dword [rax]
mov eax, dword [rax + 4]
mov dword [rbp - 0x18], ecx
mov dword [rbp - 0x14], eax
cmp qword [rbp], 0
je 0x14011355c
xor edx, edx
mov r9, qword [rbp]
cmp dword [r9 + 4], eax
setae dl
xor r8d, r8d
cmp dword [r9], ecx
setae r8b
cmove r8d, edx
test r8b, r8b
jne 0x1401137f0
cmp rdi, qword [rbp + 0x10]
ja 0x140114046
lea rdx, [r14 + rdi*8]
xor r13d, r13d
mov r8, r12
mov r9, qword [rbp + 0x20]
nop word cs:[rax + rax]
mov r10, r9
sub r10, 3
mov r11d, 0
cmovae r11, r10
lea r10, [r12 + r11*8]
cmp r8, r10
jae 0x14011367d
nop
xor r11d, r11d
cmp dword [r8 + 4], eax
setb r11b
xor r12d, r12d
cmp dword [r8], ecx
setb r12b
cmove r12d, r11d
lea r11, [rdx - 8]
test r12b, r12b
cmovne r11, r14
movzx r12d, r12b
add r12, r13
mov r15, r13
xor r13d, r13d
cmp dword [r8 + 0xc], eax
setb r13b
xor esi, esi
cmp dword [r8 + 8], ecx
mov rbx, qword [r8]
setb sil
cmove esi, r13d
lea r13, [rdx - 0x10]
test sil, sil
cmovne r13, r14
mov qword [r11 + r15*8], rbx
mov r11, qword [r8 + 8]
mov qword [r13 + r12*8], r11
movzx r11d, sil
add r11, r12
xor esi, esi
cmp dword [r8 + 0x14], eax
setb sil
xor ebx, ebx
cmp dword [r8 + 0x10], ecx
setb bl
cmove ebx, esi
lea rsi, [rdx - 0x18]
test bl, bl
cmovne rsi, r14
movzx r13d, bl
add r13, r11
xor ebx, ebx
cmp dword [r8 + 0x1c], eax
setb bl
xor r12d, r12d
cmp dword [r8 + 0x18], ecx
setb r12b
cmove r12d, ebx
mov rbx, qword [r8 + 0x10]
mov qword [rsi + r11*8], rbx
add rdx, 0xffffffffffffffe0
test r12b, r12b
mov r11, rdx
cmovne r11, r14
mov rsi, qword [r8 + 0x18]
mov qword [r11 + r13*8], rsi
movzx r11d, r12b
add r11, r13
mov r13, r11
add r8, 0x20
cmp r8, r10
jb 0x1401135a0
mov r12, qword [rbp + 0x18]
lea r10, [r12 + r9*8]
jmp 0x1401136c8
xor r11d, r11d
cmp dword [r8 + 4], eax
setb r11b
xor esi, esi
cmp dword [r8], ecx
setb sil
cmove esi, r11d
add rdx, 0xfffffffffffffff8
test sil, sil
mov r11, rdx
cmovne r11, r14
mov rbx, qword [r8]
mov qword [r11 + r13*8], rbx
movzx r11d, sil
add r13, r11
add r8, 8
cmp r8, r10
jb 0x140113690
cmp r9, rdi
je 0x1401136f0
mov r9, qword [r8]
mov qword [rdx + r13*8 - 8], r9
add rdx, 0xfffffffffffffff8
add r8, 8
mov r9, rdi
jmp 0x140113580
lea r8, [r13*8]
mov rcx, r12
mov rdx, r14
call fcn.14025a776
mov rdx, rdi
sub rdx, r13
je 0x1401137a3
cmp rdx, 4
jae 0x140113720
xor eax, eax
jmp 0x140113772
mov rax, rdx
and rax, 0xfffffffffffffffc
mov rcx, qword [rbp - 8]
lea rcx, [rcx + rdi*8]
mov r8, qword [rbp - 0x20]
lea r8, [r8 + r13*8]
xor r9d, r9d
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [rcx]
pshufd xmm1, xmm1, 0x4e
pshufd xmm0, xmm0, 0x4e
movdqu xmmword [r8 + r9*8 - 0x10], xmm1
movdqu xmmword [r8 + r9*8], xmm0
add r9, 4
add rcx, 0xffffffffffffffe0
cmp rax, r9
jne 0x140113740
cmp rdx, rax
je 0x1401137a3
lea rcx, [rax + r13]
lea r8, [rdi*8]
shl rax, 3
sub r8, rax
add r8, qword [rbp - 0x10]
nop dword [rax]
mov rax, qword [r8]
mov qword [r12 + rcx*8], rax
inc rcx
add r8, 0xfffffffffffffff8
cmp rdi, rcx
jne 0x140113790
test r13, r13
je 0x1401137f0
cmp rdi, r13
jb 0x140113ff3
lea rcx, [r12 + r13*8]
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov esi, dword [rbp + 8]
mov dword [rsp + 0x20], esi
mov r8, r14
mov r9, qword [rbp + 0x10]
call fcn.1401133a0
mov eax, esi
mov rdi, r13
cmp r13, 0x21
jae 0x140113470
jmp 0x1401133da
cmp rdi, qword [rbp + 0x10]
ja 0x140114046
lea rax, [r14 + rdi*8]
xor r8d, r8d
mov rcx, r12
mov rdx, qword [rbp + 0x20]
nop dword [rax + rax]
mov r9, rdx
sub r9, 3
mov r10d, 0
cmovae r10, r9
lea r9, [r12 + r10*8]
cmp rcx, r9
jae 0x140113918
mov r11, qword [rbp + 0x20]
mov r10d, dword [r12 + r11*8]
mov r11d, dword [r12 + r11*8 + 4]
nop dword [rax + rax]
xor esi, esi
cmp r11d, dword [rcx + 4]
setae sil
xor ebx, ebx
cmp r10d, dword [rcx]
setae bl
cmove ebx, esi
lea rsi, [rax - 8]
test bl, bl
cmovne rsi, r14
movzx ebx, bl
add rbx, r8
xor r12d, r12d
cmp r11d, dword [rcx + 0xc]
setae r12b
xor r13d, r13d
cmp r10d, dword [rcx + 8]
mov r14, qword [rcx]
setae r13b
cmove r13d, r12d
lea r12, [rax - 0x10]
test r13b, r13b
cmovne r12, qword [rbp + 0x28]
mov qword [rsi + r8*8], r14
mov r8, qword [rcx + 8]
mov qword [r12 + rbx*8], r8
movzx r8d, r13b
add r8, rbx
xor esi, esi
cmp r11d, dword [rcx + 0x14]
setae sil
xor ebx, ebx
cmp r10d, dword [rcx + 0x10]
setae bl
cmove ebx, esi
lea rsi, [rax - 0x18]
test bl, bl
cmovne rsi, qword [rbp + 0x28]
movzx ebx, bl
add rbx, r8
xor r14d, r14d
cmp r11d, dword [rcx + 0x1c]
setae r14b
xor r12d, r12d
cmp r10d, dword [rcx + 0x18]
setae r12b
cmove r12d, r14d
mov r14, qword [rcx + 0x10]
mov qword [rsi + r8*8], r14
mov r14, qword [rbp + 0x28]
add rax, 0xffffffffffffffe0
test r12b, r12b
mov r8, rax
cmovne r8, r14
mov rsi, qword [rcx + 0x18]
mov qword [r8 + rbx*8], rsi
movzx r8d, r12b
add r8, rbx
add rcx, 0x20
cmp rcx, r9
jb 0x140113840
mov r12, qword [rbp + 0x18]
lea r9, [r12 + rdx*8]
cmp rcx, r9
jae 0x140113990
mov r11, qword [rbp + 0x20]
mov r10d, dword [r12 + r11*8]
mov r11d, dword [r12 + r11*8 + 4]
nop word cs:[rax + rax]
xor esi, esi
cmp r11d, dword [rcx + 4]
setae sil
xor ebx, ebx
cmp r10d, dword [rcx]
setae bl
cmove ebx, esi
add rax, 0xfffffffffffffff8
test bl, bl
mov rsi, rax
cmovne rsi, r14
mov r14, qword [rcx]
mov qword [rsi + r8*8], r14
mov r14, qword [rbp + 0x28]
movzx ebx, bl
add rbx, r8
add rcx, 8
mov r8, rbx
cmp rcx, r9
jb 0x140113940
cmp rdx, rdi
jne 0x140113998
jmp 0x1401139c0
mov rbx, r8
cmp rdx, rdi
je 0x1401139c0
add rax, 0xfffffffffffffff8
mov rdx, qword [rcx]
mov qword [r14 + rbx*8], rdx
inc rbx
add rcx, 8
mov r8, rbx
mov rdx, rdi
jmp 0x140113810
lea r8, [rbx*8]
mov rcx, r12
mov rdx, r14
call fcn.14025a776
adc al, 0
mov r13, rdi
sub r13, rbx
je 0x140113a73
cmp r13, 4
jae case.0x140074095.2457
xor eax, eax
jmp 0x140113a42
mov byte [rsp + 0x20], 1
mov rcx, r12
mov rdx, rdi
mov r8, r14
mov r9, qword [rbp + 0x10]
call fcn.140112cb0
jmp 0x140113fdf
cmp r13, 7
jbe 0x140113d7f
mov eax, dword [r12 + 8]
mov ecx, dword [r12 + 0xc]
xor edx, edx
cmp ecx, dword [r12 + 4]
setb dl
xor ecx, ecx
cmp eax, dword [r12]
setb cl
cmove ecx, edx
mov eax, dword [r12 + 0x18]
mov edx, dword [r12 + 0x1c]
xor r8d, r8d
cmp edx, dword [r12 + 0x14]
setb r8b
xor r10d, r10d
cmp eax, dword [r12 + 0x10]
setb r10b
cmove r10d, r8d
movzx ecx, cl
mov eax, ecx
xor al, 1
movzx edx, al
lea r9, [r12 + rdx*8]
movzx eax, r10b
lea r8d, [rax + 2]
xor eax, 3
mov r11d, dword [r12 + r8*8]
mov r10d, dword [r12 + r8*8 + 4]
xor edi, edi
cmp r10d, dword [r12 + rcx*8 + 4]
setb dil
xor r10d, r10d
cmp r11d, dword [r12 + rcx*8]
setb r10b
cmove r10d, edi
mov r11d, dword [r12 + rax*8]
mov edi, dword [r12 + rax*8 + 4]
xor ebx, ebx
cmp edi, dword [r12 + rdx*8 + 4]
setb bl
xor r14d, r14d
cmp r11d, dword [r12 + rdx*8]
lea r15, [r12 + r8*8]
setb r14b
cmove r14d, ebx
test r10b, r10b
mov rdi, r15
cmovne rdi, r9
mov r11d, r8d
cmovne r11d, edx
lea rbx, [r12 + rax*8]
test r14b, r14b
cmovne r9, r15
cmovne r11d, eax
cmovne eax, edx
mov qword [rbp + 8], rax
cmovne edx, r8d
cmovne rdi, rbx
test r10b, r10b
lea r10, [r12 + rcx*8]
cmove r10, r9
mov r9d, dword [r12 + r11*8]
cmovne edx, ecx
cmovne ecx, r8d
mov r8d, dword [rdi + 4]
xor edi, edi
cmp r8d, dword [r10 + 4]
setb dil
xor r8d, r8d
cmp r9d, dword [r12 + rdx*8]
setb r8b
cmove r8d, edi
mov rcx, qword [r12 + rcx*8]
mov r9, qword [rbp + 0x28]
mov qword [r9], rcx
test r8b, r8b
mov ecx, edx
cmovne ecx, r11d
mov rcx, qword [r12 + rcx*8]
mov qword [rbp + 0x10], rcx
cmove edx, r11d
lea rcx, [r12 + rsi*8]
mov r8d, dword [r12 + rsi*8 + 8]
mov r9d, dword [r12 + rsi*8 + 0xc]
xor r11d, r11d
cmp r9d, dword [r12 + rsi*8 + 4]
setb r11b
xor r9d, r9d
cmp r8d, dword [r12 + rsi*8]
setb r9b
cmove r9d, r11d
mov r8d, dword [r12 + rsi*8 + 0x18]
mov r11d, dword [r12 + rsi*8 + 0x1c]
xor edi, edi
cmp r11d, dword [r12 + rsi*8 + 0x14]
setb dil
xor r11d, r11d
cmp r8d, dword [r12 + rsi*8 + 0x10]
setb r11b
cmove r11d, edi
movzx r9d, r9b
mov r8d, r9d
xor r8b, 1
movzx ebx, r8b
lea rdi, [rcx + rbx*8]
movzx r8d, r11b
lea r11d, [r8 + 2]
xor r8d, 3
mov r15d, dword [rcx + r11*8]
mov r14d, dword [rcx + r11*8 + 4]
mov qword [rbp + 0x18], r12
xor r12d, r12d
cmp r14d, dword [rcx + r9*8 + 4]
setb r12b
xor r14d, r14d
cmp r15d, dword [rcx + r9*8]
setb r14b
cmove r14d, r12d
mov r15d, dword [rcx + r8*8]
mov r12d, dword [rcx + r8*8 + 4]
mov qword [rbp + 0x20], r13
xor r13d, r13d
cmp r12d, dword [rcx + rbx*8 + 4]
setb r13b
xor r12d, r12d
cmp r15d, dword [rcx + rbx*8]
lea r15, [rcx + r11*8]
setb r12b
cmove r12d, r13d
test r14b, r14b
mov r13, r15
cmovne r13, rdi
mov r10, qword [rbp + 0x28]
mov rax, qword [rbp + 0x10]
mov qword [r10 + 8], rax
mov r10d, r11d
cmovne r10d, ebx
test r12b, r12b
mov r12, qword [rbp + 0x18]
cmovne rdi, r15
mov rdx, qword [r12 + rdx*8]
mov r15, qword [rbp + 0x28]
mov qword [r15 + 0x10], rdx
lea rdx, [rcx + r8*8]
cmovne r13, rdx
cmovne r10d, r8d
cmovne r8d, ebx
cmovne ebx, r11d
test r14b, r14b
mov r14, qword [rbp + 0x28]
lea rdx, [rcx + r9*8]
cmove rdx, rdi
mov edi, dword [r13 + 4]
mov r13, qword [rbp + 0x20]
cmovne ebx, r9d
cmovne r9d, r11d
xor r11d, r11d
cmp edi, dword [rdx + 4]
mov edx, dword [rcx + r10*8]
setb r11b
xor edi, edi
cmp edx, dword [rcx + rbx*8]
setb dil
cmove edi, r11d
mov rax, qword [rbp + 8]
mov rax, qword [r12 + rax*8]
mov qword [r14 + 0x18], rax
mov rax, qword [rcx + r9*8]
mov qword [r14 + rsi*8], rax
test dil, dil
mov eax, ebx
cmovne eax, r10d
mov rax, qword [rcx + rax*8]
mov qword [r14 + rsi*8 + 8], rax
cmove ebx, r10d
mov rax, qword [rcx + rbx*8]
mov qword [r14 + rsi*8 + 0x10], rax
mov rax, qword [rcx + r8*8]
mov qword [r14 + rsi*8 + 0x18], rax
mov ecx, 4
mov rdx, r13
sub rdx, rsi
cmp rcx, rsi
jb 0x140113da2
jmp 0x140113e37
mov rax, qword [r12]
mov qword [r14], rax
mov rax, qword [r12 + rsi*8]
mov qword [r14 + rsi*8], rax
mov ecx, 1
mov rdx, r13
sub rdx, rsi
cmp rcx, rsi
jae 0x140113e37
lea eax, [rcx*8]
mov r8, rcx
jmp 0x140113dc2
mov r11, r14
mov qword [r11], r9
inc r8
add rax, 8
cmp r8, rsi
je 0x140113e37
mov r9, qword [r12 + r8*8]
mov qword [r14 + r8*8], r9
mov r10, r9
shr r10, 0x20
xor r11d, r11d
cmp dword [r14 + r8*8 - 4], r10d
seta r11b
xor edi, edi
cmp dword [r14 + r8*8 - 8], r9d
seta dil
cmovne r11d, edi
cmp r11b, 1
jne 0x140113db6
mov r11, rax
nop word cs:[rax + rax]
mov rdi, qword [r14 + r11 - 8]
mov qword [r14 + r11], rdi
cmp r11, 8
je 0x140113db0
xor edi, edi
cmp dword [r14 + r11 - 0xc], r10d
seta dil
xor ebx, ebx
cmp dword [r14 + r11 - 0x10], r9d
seta bl
cmove ebx, edi
add r11, 0xfffffffffffffff8
test bl, bl
jne 0x140113e00
add r11, r14
jmp 0x140113db3
lea rax, [r14 + rsi*8]
cmp rcx, rdx
jae 0x140113eea
lea r8, [r12 + rsi*8]
lea r9d, [rcx*8]
jmp 0x140113e76
mov rdi, rax
mov r14, qword [rbp + 0x28]
mov qword [rdi], r10
inc rcx
add r9, 8
cmp rcx, rdx
je 0x140113eea
mov r10, qword [r8 + rcx*8]
mov qword [rax + rcx*8], r10
mov r11, r10
shr r11, 0x20
xor edi, edi
cmp dword [rax + rcx*8 - 4], r11d
seta dil
xor ebx, ebx
cmp dword [rax + rcx*8 - 8], r10d
seta bl
cmovne edi, ebx
cmp dil, 1
jne 0x140113e6a
mov rdi, r9
nop word cs:[rax + rax]
mov rbx, qword [rax + rdi - 8]
mov qword [rax + rdi], rbx
cmp rdi, 8
je 0x140113e60
xor ebx, ebx
cmp dword [rax + rdi - 0xc], r11d
seta bl
xor r14d, r14d
cmp dword [rax + rdi - 0x10], r10d
seta r14b
cmove r14d, ebx
add rdi, 0xfffffffffffffff8
test r14b, r14b
jne 0x140113eb0
add rdi, rax
jmp 0x140113e63
lea rdx, [rax - 8]
lea rcx, [r14 + r13*8]
add rcx, 0xfffffffffffffff8
lea r10, [r12 + r13*8]
add r10, 0xfffffffffffffff8
neg rsi
xor r11d, r11d
mov r8, r14
mov r9, r12
nop word [rax + rax]
mov ebx, dword [rax]
mov edi, dword [rax + 4]
xor r14d, r14d
cmp edi, dword [r8 + 4]
setb r14b
xor edi, edi
cmp ebx, dword [r8]
setb dil
cmove edi, r14d
test dil, dil
mov rbx, r8
cmovne rbx, rax
mov rbx, qword [rbx]
mov qword [r9], rbx
movzx ebx, dil
xor dil, 1
lea rax, [rax + rbx*8]
add r9, 8
mov ebx, dword [rcx]
mov r14d, dword [rcx + 4]
xor r15d, r15d
cmp r14d, dword [rdx + 4]
setb r15b
xor r14d, r14d
cmp ebx, dword [rdx]
movzx edi, dil
lea r8, [r8 + rdi*8]
setb r14b
cmove r14d, r15d
test r14b, r14b
mov rdi, rcx
cmovne rdi, rdx
mov rdi, qword [rdi]
mov qword [r10 + r11*8], rdi
movzx edi, r14b
shl edi, 3
add rcx, rdi
add rcx, 0xfffffffffffffff8
sub rdx, rdi
dec r11
cmp rsi, r11
jne 0x140113f10
add rdx, 8
test r13b, 1
je 0x140113fd1
xor r10d, r10d
xor r11d, r11d
cmp r8, rdx
setae r10b
setb r11b
mov rsi, rax
cmovb rsi, r8
mov rsi, qword [rsi]
mov qword [r9], rsi
lea r8, [r8 + r11*8]
lea rax, [rax + r10*8]
cmp r8, rdx
jne 0x140114039
add rcx, 8
cmp rax, rcx
jne 0x140114039
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rax, str.mid___len
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
mov qword [rbp - 0x40], 8
pxor xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
lea rdx, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14librarycore_src_slice_sort_stablequicksort.rs
lea rcx, [rbp - 0x50]
call fcn.14025ba30
lea r8, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14librarycore_src_slice_sort_stablequicksort.rs
mov rcx, rbx
mov rdx, rdi
call fcn.14025b950
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x18], r12
call fcn.14025c090
ud2