Function at 0x1400dda90
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 r13, rdx
mov qword [rsp + 0x38], rcx
cmp rdx, 0x15
jae 0x1400ddae1
cmp r13, 1
jbe 0x1400de1b1
mov r8d, 1
mov rcx, qword [rsp + 0x38]
mov rdx, r13
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sym.core::slice::sort::insertion_sort_shift_left::h21bd5905c3b2fd11
movabs rax, 0x7ffffffffffffff0
lea rcx, [r13*8]
and rcx, rax
mov rsi, qword [0x1401a3298]
movzx eax, byte [rsi]
mov edx, 8
mov qword [rsp + 0x58], rcx
call sym.__rust_alloc
test rax, rax
je 0x1400de2cc
mov rbx, rax
movzx eax, byte [rsi]
mov ecx, 0x100
mov edx, 8
call sym.__rust_alloc
test rax, rax
mov qword [rsp + 0x30], rbx
je 0x1400de2e6
mov r12, rax
mov rax, qword [rsp + 0x38]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x60], rcx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x70], rcx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x68], rax
mov eax, 0x10
mov qword [rsp + 0x48], rax
xor ebp, ebp
lea rax, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x78], r13
jmp 0x1400ddb94
mov r15d, 1
mov rbp, qword [rsp + 0x28]
cmp rbp, r13
jae 0x1400de174
mov r8, r13
sub r8, rbp
mov rax, rbp
shl rax, 4
mov rcx, qword [rsp + 0x38]
add rcx, rax
cmp r8, 2
jae 0x1400ddc10
mov rdx, r13
mov rsi, rdx
sub rsi, rbp
jb 0x1400de255
cmp rdx, r13
ja 0x1400de255
jae 0x1400ddc40
cmp r8, 0xa
jae 0x1400ddc40
lea rsi, [rbp + 0xa]
cmp rsi, r13
cmovae rsi, r13
mov qword [rsp + 0x28], rsi
sub rsi, rbp
jb 0x1400de272
cmp r8, 1
adc r8, 0
mov rdx, rsi
call sym.core::slice::sort::insertion_sort_shift_left::h21bd5905c3b2fd11
cmp r15, qword [rsp + 0x48]
je 0x1400ddc4c
jmp 0x1400ddca5
mov rdx, qword [rcx]
mov r9, qword [rcx + 0x10]
cmp r9, rdx
jae 0x1400ddfe0
cmp r8, 2
jne 0x1400ddff5
lea rdx, [rbp + 2]
mov r8d, 2
jmp 0x1400de06d
mov qword [rsp + 0x28], rdx
cmp r15, qword [rsp + 0x48]
jne 0x1400ddca5
lea rax, [r15 + r15]
mov qword [rsp + 0x48], rax
mov rcx, r15
shl rcx, 5
mov rax, qword [0x1401a3298]
movzx eax, byte [rax]
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400de280
mov rdi, rax
mov r14, r15
shl r14, 4
mov rcx, rax
mov rdx, r12
mov r8, r14
call sym.memcpy
mov r8d, 8
mov rcx, r12
mov rdx, r14
call sym.__rust_dealloc
mov r12, rdi
mov rax, r15
shl rax, 4
mov qword [r12 + rax], rsi
mov qword [r12 + rax + 8], rbp
inc r15
cmp r15, 2
jb 0x1400ddb86
mov qword [rsp + 0x80], r12
jmp 0x1400ddd48
mov rbx, qword [rsp + 0x30]
mov rdx, rbx
sub r12, rdx
mov rcx, r13
mov r8, r12
call sym.memcpy
mov rax, qword [rsp + 0x98]
add rax, r14
mov rcx, qword [rsp + 0x90]
mov qword [rcx], rax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov rcx, qword [rsp + 0xa0]
lea rdx, [rcx + 0x10]
not rdi
add rbp, rdi
shl rbp, 4
mov r8, rbp
call sub.msvcrt.dll_memmove
mov r15, qword [rsp + 0xb0]
cmp r15, 1
mov r12, qword [rsp + 0x80]
mov r13, qword [rsp + 0x78]
jbe 0x1400ddb80
mov rbp, r15
lea r10, [r15 - 1]
mov rcx, r10
shl rcx, 4
mov rax, qword [r12 + rcx]
mov rcx, qword [r12 + rcx + 8]
add rcx, rax
cmp rcx, r13
je 0x1400dddc0
mov rdx, rbp
shl rdx, 4
mov r8, qword [rdx + r12 - 0x20]
cmp r8, rax
jbe 0x1400dddc0
cmp rbp, 2
jbe 0x1400de0b3
lea r11, [rbp - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [r12 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x1400dddd5
cmp rbp, 3
jbe 0x1400de161
add r8, rcx
cmp qword [rdx + r12 - 0x40], r8
jbe 0x1400dddd5
jmp 0x1400de16c
cmp rbp, 3
jb 0x1400dddda
lea r11, [rbp - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [r12 + rcx]
cmp rcx, rax
jb 0x1400dddde
lea r11, [rbp - 2]
cmp rbp, r11
jbe 0x1400de1de
lea rax, [r11 + 1]
cmp rbp, rax
jbe 0x1400de1c6
mov qword [rsp + 0xb0], r10
mov rdx, r11
shl rdx, 4
mov rcx, qword [r12 + rdx + 8]
shl rax, 4
mov r8, qword [r12 + rax]
mov r15, qword [r12 + rax + 8]
add r15, r8
mov rbx, r15
sub rbx, rcx
jb 0x1400de220
cmp r15, r13
ja 0x1400de239
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x40], r11
lea r8, [r12 + rdx]
mov qword [rsp + 0xa0], r8
mov r14, qword [r12 + rdx]
lea rdx, [r12 + rax]
mov qword [rsp + 0x90], rdx
lea rax, [r12 + rax + 8]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xa8], rcx
mov r13, rcx
shl r13, 4
add r13, qword [rsp + 0x38]
mov r12, r14
shl r12, 4
lea rsi, [r12 + r13]
shl r15, 4
mov rdi, rbx
sub rdi, r14
cmp rdi, r14
jae 0x1400ddf30
mov r12, rdi
shl r12, 4
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
mov rdx, rsi
mov r8, r12
call sym.memcpy
add r12, rbx
test r14, r14
jle 0x1400ddfc0
test rdi, rdi
jle 0x1400ddfc0
add r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
nop
mov rax, rsi
mov rcx, r12
mov rdx, qword [r12 - 0x10]
mov r8, qword [rsi - 0x10]
cmp rdx, r8
mov esi, 0
sbb rsi, rsi
cmp rdx, r8
mov r12d, 0
adc r12, 0xffffffffffffffff
shl rsi, 4
add rsi, rax
shl r12, 4
add r12, rcx
cmp rdx, r8
mov rax, r12
cmovb rax, rsi
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
cmp rsi, r13
jbe 0x1400ddf24
add r15, 0xfffffffffffffff0
cmp r12, rbx
ja 0x1400dded0
mov r13, rsi
jmp 0x1400ddcd1
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
mov rdx, r13
mov r8, r12
call sym.memcpy
add r12, rdi
test r14, r14
jle 0x1400ddfc5
cmp rbx, r14
mov rdi, qword [rsp + 0x40]
jle 0x1400ddccc
add r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rdx, rbx
nop word cs:[rax + rax]
mov r8, rdx
mov rcx, qword [rsi]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, rsi
movups xmm0, xmmword [r9]
movups xmmword [r13], xmm0
add r13, 0x10
shl rdx, 4
add rdx, r8
cmp rdx, r12
jae 0x1400ddcd4
mov al, cl
shl rax, 4
add rsi, rax
cmp rsi, r15
jb 0x1400ddf70
jmp 0x1400ddcd4
mov r13, rsi
jmp 0x1400ddfca
mov rbx, qword [rsp + 0x30]
mov rdx, rbx
mov rdi, qword [rsp + 0x40]
jmp 0x1400ddcd4
cmp r8, 2
jne 0x1400de029
lea rdx, [rbp + 2]
mov r8d, 2
jmp 0x1400ddbb2
mov r10, qword [rsp + 0x60]
lea r11, [r10 + rax]
mov r10d, 2
mov rsi, r9
nop word [rax + rax]
mov rdi, rsi
mov rsi, qword [r11]
cmp rsi, rdi
jae 0x1400de05a
inc r10
add r11, 0x10
cmp r8, r10
jne 0x1400de010
jmp 0x1400de057
mov r10, qword [rsp + 0x60]
lea r11, [r10 + rax]
mov r10d, 2
mov rsi, r9
nop dword [rax + rax]
mov rdi, rsi
mov rsi, qword [r11]
cmp rsi, rdi
jb 0x1400de05a
inc r10
add r11, 0x10
cmp r8, r10
jne 0x1400de040
mov r10, r8
lea r11, [r10 + rbp]
mov r8, r10
cmp r9, rdx
mov rdx, r11
jae 0x1400ddbb2
cmp rbp, rdx
ja 0x1400de2ae
cmp rdx, r13
ja 0x1400de29a
cmp r8, 2
jb 0x1400ddbb2
mov qword [rsp + 0x28], rdx
mov rdx, r8
shr rdx, 1
mov r9, r8
shl r9, 4
add r9, rcx
mov r10, rdx
shl r10, 4
sub r9, r10
cmp rdx, 1
jne 0x1400de0be
xor r10d, r10d
jmp 0x1400de12c
mov r15d, 2
jmp 0x1400ddb86
movabs r10, 0x7ffffffffffffff0
lea r11, [r10 + 0xe]
and r11, rdx
add rax, qword [rsp + 0x70]
lea rsi, [r8 + rbp]
shl rsi, 4
add rsi, qword [rsp + 0x68]
xor r10d, r10d
movabs r14, 0xffffffffffffffe
nop
movups xmm0, xmmword [rax - 0x10]
movups xmm1, xmmword [rsi]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdi, r10
xor rdi, r14
add rdi, rdx
shl rdi, 4
movups xmm0, xmmword [rax]
movups xmm1, xmmword [r9 + rdi]
movups xmmword [rax], xmm1
movups xmmword [r9 + rdi], xmm0
add r10, 2
add rax, 0x20
add rsi, 0xffffffffffffffe0
cmp r11, r10
jne 0x1400de0f0
test r8b, 2
je 0x1400de157
mov rax, r10
not rax
add rdx, rax
shl r10, 4
shl rdx, 4
movups xmm0, xmmword [rcx + r10]
movups xmm1, xmmword [r9 + rdx]
movups xmmword [rcx + r10], xmm1
movups xmmword [r9 + rdx], xmm0
mov rdx, qword [rsp + 0x28]
jmp 0x1400ddbb2
mov r15d, 3
jmp 0x1400ddb86
mov r15, rbp
jmp 0x1400ddb86
mov rdx, qword [rsp + 0x48]
shl rdx, 4
mov r8d, 8
mov rcx, r12
call sym.__rust_dealloc
mov r8d, 8
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sym.__rust_dealloc
nop
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0xb8], rax
lea rdx, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
jmp 0x1400de1f4
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0xb8], rax
lea rdx, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
lea rcx, [rsp + 0xb8]
mov qword [rcx + 8], 1
lea rax, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
call sym.core::panicking::panic_fmt::hd016798b7a4db8ba
jmp 0x1400de2fe
lea r8, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov rdx, r15
mov rbx, qword [rsp + 0x30]
call sym.core::slice::index::slice_index_order_fail::hc50742acf252e953
jmp 0x1400de2fe
lea r8, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov rcx, r15
mov rdx, r13
mov rbx, qword [rsp + 0x30]
call sym.core::slice::index::slice_end_index_len_fail::hdc10f6a9df671f4a
jmp 0x1400de2fe
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov edx, 0x2c
call sym.core::panicking::panic::h297b186b0eb73132
jmp 0x1400de2fe
lea rax, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov qword [rsp + 0x50], rax
jmp 0x1400de2b3
lea rcx, [0x140187058]
lea r8, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov edx, 0x2b
call sym.core::panicking::panic::h297b186b0eb73132
jmp 0x1400de2fe
lea r8, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov rcx, rdx
mov rdx, r13
call sym.core::slice::index::slice_end_index_len_fail::hdc10f6a9df671f4a
jmp 0x1400de2fe
mov qword [rsp + 0x28], rdx
mov rcx, rbp
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
call sym.core::slice::index::slice_index_order_fail::hc50742acf252e953
jmp 0x1400de2fe
lea rcx, [0x140187058]
lea r8, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov edx, 0x2b
call sym.core::panicking::panic::h297b186b0eb73132
ud2
lea rcx, [0x140187058]
lea r8, str.C:MB_src_rustc_1.75.0_srclibrarycore_src_slice_sort.rs
mov edx, 0x2b
call sym.core::panicking::panic::h297b186b0eb73132
ud2