Function at 0x1400c68d0
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
movaps xmmword [rsp + 0xd0], xmm6
mov r8, qword [rcx + 8]
mov qword [rsp + 0x30], rcx
mov r13, qword [rcx + 0x10]
mov eax, 0xff
mov ecx, 0xffffffff
mov rdx, r13
mov qword [rsp + 0x38], r8
nop word [rax + rax]
cmp rdx, 2
jb 0x1400c7180
mov esi, dword [r8]
mov r11d, dword [r8 + 4]
mov r9d, dword [r8 + 8]
mov r10d, dword [r8 + 0xc]
xor edi, edi
cmp esi, r9d
setne dil
cmovb edi, eax
cmp r11d, r10d
mov ebx, 0
sbb ebx, ebx
test dil, dil
cmovne ebx, edi
cmp bl, 2
jb 0x1400c696b
dec rdx
cmp esi, r9d
cmova r9d, esi
cmp r11d, r10d
cmovb r10d, r11d
inc r10d
cmove r10d, ecx
add r8, 8
cmp r9d, r10d
ja 0x1400c6910
cmp r13, 0x15
jae 0x1400c6998
cmp r13, 1
jbe 0x1400c719c
mov r8d, 1
mov rcx, qword [rsp + 0x38]
mov rdx, r13
call sym.core::slice::sort::insertion_sort_shift_left::h89708611e0e7a9ba
mov r11, qword [rsp + 0x30]
jmp 0x1400c7098
movabs rax, 0x7ffffffffffffff8
lea rcx, [r13*4]
and rcx, rax
mov rsi, qword [0x1403c8b08]
movzx eax, byte [rsi]
mov edx, 4
mov qword [rsp + 0x60], rcx
call sym.__rust_alloc
test rax, rax
je 0x1400c72cc
mov r15, rax
movzx eax, byte [rsi]
mov ecx, 0x100
mov edx, 8
call sym.__rust_alloc
test rax, rax
mov qword [rsp + 0x28], r15
je 0x1400c72d8
mov rbp, rax
mov rax, qword [rsp + 0x38]
lea rcx, [rax + 8]
mov qword [rsp + 0x70], rcx
add rax, 0xfffffffffffffff8
mov qword [rsp + 0x68], rax
mov eax, 0x10
mov qword [rsp + 0x48], rax
xor ebx, ebx
lea rax, [0x1403435f8]
mov qword [rsp + 0x58], rax
xor r14d, r14d
mov qword [rsp + 0x78], r13
jmp 0x1400c6a44
mov r14d, 1
mov rbx, qword [rsp + 0x20]
cmp rbx, r13
jae 0x1400c705c
mov rax, r13
sub rax, rbx
mov rcx, qword [rsp + 0x38]
lea rcx, [rcx + rbx*8]
cmp rax, 2
jae 0x1400c6ad0
mov r8, rax
lea rax, [r8 + rbx]
mov rsi, rax
sub rsi, rbx
jb 0x1400c7256
cmp rax, r13
ja 0x1400c7256
jae 0x1400c6b80
cmp r8, 0xa
jae 0x1400c6b80
lea rsi, [rbx + 0xa]
cmp rsi, r13
cmovae rsi, r13
cmp rbx, 0xfffffffffffffff5
ja 0x1400c7270
cmp r8, 1
adc r8, 0
mov qword [rsp + 0x20], rsi
sub rsi, rbx
mov rdx, rsi
call sym.core::slice::sort::insertion_sort_shift_left::h89708611e0e7a9ba
cmp r14, qword [rsp + 0x48]
je 0x1400c6b8c
jmp 0x1400c6be5
mov edx, dword [rcx + 8]
mov r9d, dword [rcx + 0xc]
xor r8d, r8d
cmp r9d, dword [rcx + 4]
setb r8b
xor r10d, r10d
cmp edx, dword [rcx]
setb r10b
cmove r10d, r8d
mov r8d, 2
test r10b, r10b
je 0x1400c6f20
cmp rax, 2
je 0x1400c6b47
nop word cs:[rax + rax]
mov r10d, edx
mov r11d, r9d
mov edx, dword [rcx + r8*8]
mov r9d, dword [rcx + r8*8 + 4]
xor esi, esi
cmp r9d, r11d
setb sil
xor r11d, r11d
cmp edx, r10d
setb r11b
cmove r11d, esi
cmp r11b, 1
jne 0x1400c6b47
inc r8
cmp rax, r8
jne 0x1400c6b10
mov r8, rax
mov rax, r8
add rax, rbx
jb 0x1400c72a3
cmp rax, r13
ja 0x1400c728f
cmp r8, 2
jae 0x1400c6f6c
mov r8d, 1
jmp 0x1400c6a60
mov qword [rsp + 0x20], rax
cmp r14, qword [rsp + 0x48]
jne 0x1400c6be5
lea rax, [r14 + r14]
mov qword [rsp + 0x48], rax
mov rcx, r14
shl rcx, 5
mov rax, qword [0x1403c8b08]
movzx eax, byte [rax]
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400c7281
mov rdi, rax
mov r12, r14
shl r12, 4
mov rcx, rax
mov rdx, rbp
mov r8, r12
call sym.memcpy
mov r8d, 8
mov rcx, rbp
mov rdx, r12
call sym.__rust_dealloc
mov rbp, rdi
mov rax, r14
shl rax, 4
mov qword [rbp + rax], rsi
mov qword [rbp + rax + 8], rbx
inc r14
cmp r14, 2
jb 0x1400c6a36
mov qword [rsp + 0x80], rbp
jmp 0x1400c6c8c
mov rbp, r13
mov r15, qword [rsp + 0x28]
mov rdx, r15
nop dword [rax + rax]
mov rax, qword [rsp + 0x80]
add r12, rax
add r14, rax
sub r8, rdx
mov rcx, rbp
mov rbp, rax
call sym.memcpy
mov rax, qword [rsp + 0x88]
add rax, rdi
mov qword [r14], rax
mov rax, qword [rsp + 0x90]
mov qword [r14 + 8], rax
lea rdx, [r12 + 0x10]
mov rax, qword [rsp + 0x98]
not rax
add rbx, rax
shl rbx, 4
mov rcx, r12
mov r8, rbx
call sub.msvcrt.dll_memmove
mov r14, qword [rsp + 0x50]
cmp r14, 1
mov r13, qword [rsp + 0x78]
jbe 0x1400c6a30
mov rbx, r14
lea r10, [r14 - 1]
mov rcx, r10
shl rcx, 4
mov rax, qword [rbp + rcx]
mov rcx, qword [rbp + rcx + 8]
add rcx, rax
cmp rcx, r13
je 0x1400c6d00
mov rdx, rbx
shl rdx, 4
mov r8, qword [rdx + rbp - 0x20]
cmp r8, rax
jbe 0x1400c6d00
cmp rbx, 2
je 0x1400c6f99
lea r11, [rbx - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [rbp + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x1400c6d16
cmp rbx, 3
jbe 0x1400c7049
add r8, rcx
cmp qword [rdx + rbp - 0x40], r8
jbe 0x1400c6d16
jmp 0x1400c7054
cmp rbx, 2
je 0x1400c6d1b
lea r11, [rbx - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [rbp + rcx]
cmp rcx, rax
jb 0x1400c6d1f
lea r11, [rbx - 2]
mov qword [rsp + 0x50], r10
cmp rbx, r11
jbe 0x1400c71da
lea r14, [r11 + 1]
cmp rbx, r14
jbe 0x1400c71c2
mov r12, r11
shl r12, 4
mov rcx, qword [rbp + r12 + 8]
shl r14, 4
mov rax, qword [rbp + r14]
mov rsi, qword [rbp + r14 + 8]
add rsi, rax
mov rdi, rsi
sub rdi, rcx
jb 0x1400c7219
mov qword [rsp + 0x40], rbx
cmp rsi, r13
ja 0x1400c722d
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], r11
mov rbx, qword [rbp + r12]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x90], rcx
lea rbp, [rax + rcx*8]
lea r13, [rbx*8]
add r13, rbp
mov r15, rdi
sub r15, rbx
cmp r15, rbx
jae 0x1400c6e60
lea r8, [r15*8]
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
mov rdx, r13
call sym.memcpy
lea r8, [rdi + r15*8]
test rbx, rbx
mov rdi, rbx
jle 0x1400c6efc
test r15, r15
mov rbx, qword [rsp + 0x40]
jle 0x1400c6c0d
mov rax, qword [rsp + 0x68]
lea rax, [rax + rsi*8]
mov r15, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov ecx, dword [r8 - 8]
mov edx, dword [r8 - 4]
xor r9d, r9d
cmp edx, dword [r13 - 4]
setb r9b
xor edx, edx
cmp ecx, dword [r13 - 8]
setb dl
cmove edx, r9d
movzx ecx, dl
lea rdx, [rcx*8]
sub r13, rdx
lea r8, [r8 + rcx*8]
add r8, 0xfffffffffffffff8
test cl, cl
mov rcx, r8
cmovne rcx, r13
mov rcx, qword [rcx]
mov qword [rax], rcx
cmp r13, rbp
jbe 0x1400c6e53
add rax, 0xfffffffffffffff8
cmp r8, r15
ja 0x1400c6e00
mov rbp, r13
mov rdx, r15
jmp 0x1400c6c20
lea r8, [rbx*8]
mov r15, qword [rsp + 0x28]
mov rcx, r15
mov rdx, rbp
call sym.memcpy
lea r8, [r15 + rbx*8]
test rbx, rbx
jle 0x1400c6f09
cmp rdi, rbx
mov rdi, rbx
jle 0x1400c6f04
mov rax, qword [rsp + 0x38]
lea rax, [rax + rsi*8]
mov rdx, r15
mov rbx, qword [rsp + 0x40]
nop
mov r9d, dword [r13]
mov ecx, dword [r13 + 4]
xor r10d, r10d
cmp ecx, dword [rdx + 4]
setb r10b
xor ecx, ecx
cmp r9d, dword [rdx]
setb cl
cmove ecx, r10d
test cl, cl
mov r9, rdx
cmovne r9, r13
mov r9, qword [r9]
mov qword [rbp], r9
add rbp, 8
mov r9d, ecx
xor r9b, 1
movzx r9d, r9b
lea rdx, [rdx + r9*8]
cmp rdx, r8
jae 0x1400c6c20
movzx ecx, cl
lea r13, [r13 + rcx*8]
cmp r13, rax
jb 0x1400c6ea0
jmp 0x1400c6c20
mov rbp, r13
mov r15, qword [rsp + 0x28]
mov rdx, r15
jmp 0x1400c6f0f
mov rdx, r15
mov rdi, rbx
mov rbx, qword [rsp + 0x40]
jmp 0x1400c6c20
cmp rax, 2
je 0x1400c6a5c
nop word [rax + rax]
mov r10d, edx
mov r11d, r9d
mov edx, dword [rcx + r8*8]
mov r9d, dword [rcx + r8*8 + 4]
xor esi, esi
cmp r9d, r11d
setb sil
xor r11d, r11d
cmp edx, r10d
setb r11b
cmove r11d, esi
test r11b, r11b
jne 0x1400c6a5c
inc r8
cmp rax, r8
jne 0x1400c6f30
jmp 0x1400c6a59
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], r14
mov rax, r8
shr rax, 1
lea rdx, [rcx + r8*8]
lea r9, [rax*8]
sub rdx, r9
cmp rax, 1
jne 0x1400c6fa4
xor r9d, r9d
jmp 0x1400c7016
mov r14d, 2
jmp 0x1400c6a36
movabs r9, 0x7ffffffffffffff8
lea r10, [r9 + 6]
and r10, rax
mov r9, qword [rsp + 0x70]
lea r11, [r9 + rbx*8]
mov r9, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x20]
lea rsi, [r9 + rsi*8]
xor r9d, r9d
movabs r12, 0x1ffffffffffffffe
nop dword [rax]
mov rdi, qword [rsi]
mov r14, qword [r11 + r9*8 - 8]
mov qword [r11 + r9*8 - 8], rdi
mov qword [rsi], r14
mov rdi, r9
xor rdi, r12
add rdi, rax
mov r14, qword [rdx + rdi*8]
mov r15, qword [r11 + r9*8]
mov qword [r11 + r9*8], r14
mov qword [rdx + rdi*8], r15
add r9, 2
add rsi, 0xfffffffffffffff0
cmp r10, r9
jne 0x1400c6fe0
test r8b, 2
je 0x1400c7035
mov r10, r9
not r10
add rax, r10
mov r10, qword [rdx + rax*8]
mov r11, qword [rcx + r9*8]
mov qword [rcx + r9*8], r10
mov qword [rdx + rax*8], r11
mov r15, qword [rsp + 0x28]
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x20]
jmp 0x1400c6a60
mov r14d, 3
jmp 0x1400c6a36
mov r14, rbx
jmp 0x1400c6a36
mov rdx, qword [rsp + 0x48]
shl rdx, 4
mov r8d, 8
mov rcx, rbp
call sym.__rust_dealloc
mov r8d, 4
mov rcx, r15
mov rdx, qword [rsp + 0x60]
call sym.__rust_dealloc
mov r11, qword [rsp + 0x30]
mov r13, qword [r11 + 0x10]
test r13, r13
je 0x1400c71aa
xor eax, eax
mov rsi, r13
jmp 0x1400c70b7
movlps qword [rcx + rsi*8], xmm6
inc rsi
mov qword [r11 + 0x10], rsi
mov rax, rdi
cmp r13, rdi
je 0x1400c7150
lea rdi, [rax + 1]
cmp rsi, r13
jbe 0x1400c70f6
mov rcx, qword [r11 + 8]
mov r9d, dword [rcx + rsi*8 - 8]
mov edx, dword [rcx + rax*8]
cmp r9d, edx
mov r11d, edx
cmova r11d, r9d
mov r10d, dword [rcx + rsi*8 - 4]
mov r8d, dword [rcx + rdi*8 - 4]
cmp r10d, r8d
mov ebx, r8d
cmovb ebx, r10d
inc ebx
cmp r11d, ebx
mov r11, qword [rsp + 0x30]
jbe 0x1400c7120
cmp rax, rsi
jae 0x1400c7244
mov rcx, qword [r11 + 8]
movsd xmm6, qword [rcx + rax*8]
cmp rsi, qword [r11]
jne 0x1400c70a0
mov rcx, r11
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21ec87b58ec4bed9
mov r11, qword [rsp + 0x30]
mov rcx, qword [r11 + 8]
jmp 0x1400c70a0
cmp r9d, edx
cmovb edx, r9d
cmp r10d, r8d
cmova r8d, r10d
cmp edx, r8d
mov eax, r8d
cmova r8d, edx
cmovb eax, edx
mov dword [rcx + rsi*8 - 8], eax
mov dword [rcx + rsi*8 - 4], r8d
mov rax, rdi
cmp r13, rdi
jne 0x1400c70b7
mov rdi, rsi
sub rdi, r13
jb 0x1400c72ba
mov qword [r11 + 0x10], 0
je 0x1400c7180
lea rdx, [rcx + r13*8]
lea r8, [rdi*8]
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x10], rdi
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r11, qword [rsp + 0x30]
test r13, r13
jne 0x1400c7098
lea rcx, str.assertion_failed:__self.ranges.is_empty__
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_srchirinterval.rs
mov edx, 0x29
call sym.core::panicking::panic::hf0c717636b14999a
lea rax, str.p34_
mov qword [rsp + 0xa0], rax
lea rdx, [0x140343628]
jmp 0x1400c71f0
lea rax, str.p34_
mov qword [rsp + 0xa0], rax
lea rdx, [0x140343610]
lea rcx, [rsp + 0xa0]
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 8
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
call sym.core::panicking::panic_fmt::h57c46dec66ad69af
jmp 0x1400c72e4
lea r8, [0x140343640]
mov rdx, rsi
call sym.core::slice::index::slice_index_order_fail::h509e8ac6d61d8a5e
jmp 0x1400c72e4
lea r8, [0x140343640]
mov rcx, rsi
mov rdx, r13
call sym.core::slice::index::slice_end_index_len_fail::h3e2d9e3a363f96f3
jmp 0x1400c72e4
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_srchirinterval.rs
mov rcx, rax
mov rdx, rsi
call sym.core::panicking::panic_bounds_check::h355e469b41f98a46
lea rcx, [0x1403436a0]
lea r8, [0x1403436d0]
mov edx, 0x2c
call sym.core::panicking::panic::hf0c717636b14999a
jmp 0x1400c72e4
mov rdx, rsi
lea rax, [0x1403436e8]
mov qword [rsp + 0x58], rax
jmp 0x1400c72a6
lea rcx, [0x140343688]
call sym.core::option::unwrap_failed::h24b27a0084f6d704
jmp 0x1400c72e4
lea r8, [0x1403435f8]
mov rcx, rax
mov rdx, r13
call sym.core::slice::index::slice_end_index_len_fail::h3e2d9e3a363f96f3
jmp 0x1400c72e4
mov rdx, rax
mov rcx, rbx
mov r8, qword [rsp + 0x58]
mov r15, qword [rsp + 0x28]
call sym.core::slice::index::slice_index_order_fail::h509e8ac6d61d8a5e
jmp 0x1400c72e4
lea r8, [0x140343a10]
mov rcx, r13
mov rdx, rsi
call sym.core::slice::index::slice_end_index_len_fail::h3e2d9e3a363f96f3
lea rcx, [0x140343658]
call sym.core::option::unwrap_failed::h24b27a0084f6d704
lea rcx, [0x140343670]
call sym.core::option::unwrap_failed::h24b27a0084f6d704
ud2