Function at 0x14026c880
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x7c8
vmovaps xmmword [rsp + 0x7b0], xmm6
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0x58], r8
mov rsi, rdx
mov qword [rsp + 0x130], rcx
lea rdx, [0x1405bcb52]
mov r8d, 0xa
mov rcx, rsi
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x50], rdx
lea rcx, str.failed_to_write_whole_buffer
cmove rax, rcx
mov rdi, rcx
mov qword [rsp + 0x48], rax
lea rdx, [0x1405bcb5c]
mov r8d, 0xf
mov rcx, rsi
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x28], rdx
cmove rax, rdi
mov qword [rsp + 0x88], rax
lea rdx, [0x1405bcb6b]
mov r8d, 0xd
mov rcx, rsi
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x80], rdx
cmove rax, rdi
mov qword [rsp + 0x78], rax
lea rdx, [0x1405bcb78]
mov r8d, 0xf
mov rcx, rsi
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x70], rdx
cmove rax, rdi
mov qword [rsp + 0x40], rax
lea rdx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types.debug_abbrev.dwo.debug_info.dwo.debug_line.dwo.debug_loc.dwo.debug_loclists.dwo.debug_rnglists.dwo.debug_str.dwo.debug_str_offsets.dwo.debug_types.dwoOk
mov r8d, 0xd
mov rcx, rsi
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x68], rdx
cmove rax, rdi
mov qword [rsp + 0x38], rax
lea rdx, [0x1405bcb05]
mov r8d, 0xb
mov rcx, rsi
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x60], rdx
cmove rax, rdi
mov qword [rsp + 0xa8], rax
lea rdx, [0x1405bcb10]
mov r8d, 0xe
mov rcx, rsi
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x30], rdx
cmove rax, rdi
mov qword [rsp + 0xb8], rax
lea rdx, [0x1405bcb2d]
mov r8d, 0xb
mov rcx, rsi
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x138], rdx
cmove rax, rdi
mov qword [rsp + 0xb0], rax
lea rdx, [0x1405bcb38]
mov r8d, 0xb
mov rcx, rsi
call fcn.14027d0b0
mov r12, rax
test rax, rax
cmove rdx, rax
mov qword [rsp + 0xc0], rdx
cmove r12, rdi
mov rbx, rdi
lea rdx, [0x1405bcb43]
mov r8d, 0xf
mov rcx, rsi
call fcn.14027d0b0
mov rbp, rax
mov rdi, rdx
test rax, rax
cmove rdi, rax
cmove rbp, rbx
mov r14, rbx
lea rdx, [0x1405bcb87]
mov r8d, 0xa
mov rcx, rsi
call fcn.14027d0b0
mov r13, rax
mov rbx, rdx
test rax, rax
cmove rbx, rax
cmove r13, r14
lea rdx, [0x1405bcb91]
mov r8d, 0x12
mov rcx, rsi
call fcn.14027d0b0
mov r15, rax
mov r14, rdx
lea rdx, [0x1405bcbb2]
mov r8d, 0xc
mov qword [rsp + 0x158], rsi
mov rcx, rsi
call fcn.14027d0b0
vxorps xmm6, xmm6, xmm6
vmovups xmmword [rsp + 0x5c8], xmm6
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x4f8], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x500], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x508], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x510], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x518], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x520], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x528], rcx
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x530], rcx
mov qword [rsp + 0x538], r12
lea rsi, str.failed_to_write_whole_buffer
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x540], rcx
mov qword [rsp + 0x548], rbp
mov qword [rsp + 0x550], rdi
mov qword [rsp + 0x558], r13
mov r13, qword [rsp + 0x58]
test r15, r15
cmove r14, r15
mov qword [rsp + 0x560], rbx
cmove r15, rsi
mov qword [rsp + 0x568], r15
mov qword [rsp + 0x570], r14
test rax, rax
cmove rdx, rax
cmove rax, rsi
mov qword [rsp + 0x578], rax
mov qword [rsp + 0x580], rdx
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x588], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x590], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x5a0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x5a8], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x5b0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x5b8], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x5c0], rax
mov byte [rsp + 0x5d8], 0
mov rax, qword [r13]
mov qword [rsp + 0x138], rax
test rax, rax
je 0x14026d0c6
lea rdx, [0x1405bcb52]
mov r8d, 0xa
mov rcx, r13
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x50], rdx
cmove rax, rsi
mov qword [rsp + 0x48], rax
lea rdx, [0x1405bcb5c]
mov r8d, 0xf
mov rcx, r13
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x28], rdx
cmove rax, rsi
mov qword [rsp + 0x88], rax
lea rdx, [0x1405bcb6b]
mov r8d, 0xd
mov rcx, r13
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x80], rdx
cmove rax, rsi
mov qword [rsp + 0x78], rax
lea rdx, [0x1405bcb78]
mov r8d, 0xf
mov rcx, r13
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x70], rdx
cmove rax, rsi
mov qword [rsp + 0x40], rax
lea rdx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types.debug_abbrev.dwo.debug_info.dwo.debug_line.dwo.debug_loc.dwo.debug_loclists.dwo.debug_rnglists.dwo.debug_str.dwo.debug_str_offsets.dwo.debug_types.dwoOk
mov r8d, 0xd
mov rcx, r13
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x68], rdx
cmove rax, rsi
mov qword [rsp + 0x38], rax
lea rdx, [0x1405bcb05]
mov r8d, 0xb
mov rcx, r13
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x60], rdx
cmove rax, rsi
mov qword [rsp + 0xa8], rax
lea rdx, [0x1405bcb10]
mov r8d, 0xe
mov rcx, r13
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x30], rdx
cmove rax, rsi
mov qword [rsp + 0xb8], rax
lea rdx, [0x1405bcb2d]
mov r8d, 0xb
mov rcx, r13
call fcn.14027d0b0
test rax, rax
cmove rdx, rax
mov qword [rsp + 0xb0], rdx
cmove rax, rsi
mov qword [rsp + 0xc0], rax
lea rdx, [0x1405bcb38]
mov r8d, 0xb
mov rcx, r13
call fcn.14027d0b0
mov r12, rax
test rax, rax
cmove rdx, rax
mov qword [rsp + 0xe8], rdx
lea rax, str.failed_to_write_whole_buffer
cmove r12, rax
lea rdx, [0x1405bcb43]
mov r8d, 0xf
mov rcx, r13
call fcn.14027d0b0
mov rbp, rax
mov rdi, rdx
test rax, rax
cmove rdi, rax
lea rax, str.failed_to_write_whole_buffer
cmove rbp, rax
lea rdx, [0x1405bcb87]
mov r8d, 0xa
mov rcx, r13
call fcn.14027d0b0
mov rbx, rdx
test rax, rax
cmove rbx, rax
mov rsi, r13
mov r13, rax
lea rax, str.failed_to_write_whole_buffer
cmove r13, rax
lea rdx, [0x1405bcb91]
mov r8d, 0x12
mov rcx, rsi
call fcn.14027d0b0
mov r14, rax
mov r15, rdx
lea rdx, [0x1405bcbb2]
mov r8d, 0xc
mov rcx, rsi
call fcn.14027d0b0
vmovups xmmword [rsp + 0x2e0], xmm6
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x210], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x218], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x220], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x228], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x230], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x238], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x240], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x248], rcx
mov qword [rsp + 0x250], r12
lea rcx, str.failed_to_write_whole_buffer
mov r8, qword [rsp + 0xe8]
mov qword [rsp + 0x258], r8
mov qword [rsp + 0x260], rbp
mov qword [rsp + 0x268], rdi
mov qword [rsp + 0x270], r13
mov qword [rsp + 0x278], rbx
test r14, r14
cmove r15, r14
cmove r14, rcx
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], r15
test rax, rax
cmove rdx, rax
cmove rax, rcx
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], rdx
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x2b0], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x2b8], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x2d8], rax
mov byte [rsp + 0x2f0], 0
mov qword [rsp + 0x200], 1
mov qword [rsp + 0x208], 1
movzx eax, byte [0x1406ba220]
mov ecx, 0xf8
mov edx, 8
call fcn.140087770
test rax, rax
je 0x140270465
vmovups ymm0, ymmword [rsp + 0x2d8]
vmovups ymmword [rax + 0xd8], ymm0
vmovups ymm0, ymmword [rsp + 0x2c0]
vmovups ymmword [rax + 0xc0], ymm0
vmovups ymm0, ymmword [rsp + 0x2a0]
vmovups ymmword [rax + 0xa0], ymm0
vmovups ymm0, ymmword [rsp + 0x280]
vmovups ymmword [rax + 0x80], ymm0
vmovups ymm0, ymmword [rsp + 0x200]
vmovups ymm1, ymmword [rsp + 0x220]
vmovups ymm2, ymmword [rsp + 0x240]
vmovups ymm3, ymmword [rsp + 0x260]
vmovups ymmword [rax + 0x60], ymm3
vmovups ymmword [rax + 0x40], ymm2
vmovups ymmword [rax + 0x20], ymm1
vmovups ymmword [rax], ymm0
cmp qword [rsi + 0x28], 0
mov qword [rsp + 0x5c8], rax
mov r13, rsi
je 0x14026d0b9
mov rcx, qword [r13 + 0x20]
mov edx, 8
vzeroupper
call fcn.140087800
mov dword [rsp + 0xe8], 0
jmp 0x14026d0cf
mov al, 1
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x5d8]
mov qword [rsp + 0x2f0], rax
vmovups ymm0, ymmword [rsp + 0x5b8]
vmovups ymmword [rsp + 0x2d0], ymm0
vmovups ymm0, ymmword [rsp + 0x598]
vmovups ymmword [rsp + 0x2b0], ymm0
vmovups ymm0, ymmword [rsp + 0x578]
vmovups ymmword [rsp + 0x290], ymm0
vmovups ymm0, ymmword [rsp + 0x4f8]
vmovups ymm1, ymmword [rsp + 0x518]
vmovups ymm2, ymmword [rsp + 0x538]
vmovups ymm3, ymmword [rsp + 0x558]
vmovups ymmword [rsp + 0x270], ymm3
vmovups ymmword [rsp + 0x250], ymm2
vmovups ymmword [rsp + 0x230], ymm1
vmovups ymmword [rsp + 0x210], ymm0
mov qword [rsp + 0x200], 1
mov qword [rsp + 0x208], 1
movzx eax, byte [0x1406ba220]
mov ecx, 0xf8
mov edx, 8
vzeroupper
call fcn.140087770
test rax, rax
je 0x140270423
vmovups ymm0, ymmword [rsp + 0x2d8]
vmovups ymmword [rax + 0xd8], ymm0
vmovups ymm0, ymmword [rsp + 0x2c0]
vmovups ymmword [rax + 0xc0], ymm0
vmovups ymm0, ymmword [rsp + 0x2a0]
vmovups ymmword [rax + 0xa0], ymm0
vmovups ymm0, ymmword [rsp + 0x280]
vmovups ymmword [rax + 0x80], ymm0
vmovups ymm0, ymmword [rsp + 0x200]
vmovups ymm1, ymmword [rsp + 0x220]
vmovups ymm2, ymmword [rsp + 0x240]
vmovups ymm3, ymmword [rsp + 0x260]
vmovups ymmword [rax + 0x60], ymm3
vmovups ymmword [rax + 0x40], ymm2
vmovups ymmword [rax + 0x20], ymm1
vmovups ymmword [rax], ymm0
mov qword [rsp + 0x110], rax
mov rcx, rax
add rcx, 0x10
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x118], 8
vxorps xmm6, xmm6, xmm6
vmovups xmmword [rsp + 0x120], xmm6
mov rcx, qword [rax + 0x30]
mov r12, qword [rax + 0x38]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x150], 0
test r12, r12
je 0x14026dade
mov r15d, 8
xor edx, edx
lea rax, [rsp + 0x200]
mov qword [rsp + 0xc8], rax
lea rsi, [rsp + 0x140]
lea rdi, [rsp + 0x118]
xor ebx, ebx
jmp 0x14026d2d5
mov r14, rdx
mov rax, r14
shl rax, 4
mov qword [r15 + rax], r12
mov qword [r15 + rax + 8], r13
lea rdx, [r14 + 1]
mov qword [rsp + 0x128], rdx
mov r12, qword [rsp + 0x148]
test r12, r12
mov r13, qword [rsp + 0x58]
je 0x14026d355
mov r14, rdx
lea rcx, [rsp + 0x200]
mov rdx, rsi
mov r8, rbx
vzeroupper
call fcn.14027d2a0
cmp byte [rsp + 0x229], 3
je 0x14026dbc4
sub r12, qword [rsp + 0x148]
mov r13, qword [rsp + 0x210]
mov rbx, r12
add rbx, qword [rsp + 0x150]
mov r12, qword [rsp + 0x220]
mov qword [rsp + 0x150], rbx
mov rdx, r14
cmp r14, qword [rsp + 0x120]
jne 0x14026d2a0
mov rcx, rdi
call fcn.1400d4e80
mov r15, qword [rsp + 0x118]
mov r14, qword [rsp + 0x128]
jmp 0x14026d2a3
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x68], rax
cmp rdx, 0x15
jae 0x14026d387
cmp rdx, 1
jbe 0x14026dade
mov r8d, 1
mov rcx, qword [rsp + 0x68]
call fcn.14027d560
jmp 0x14026dade
movabs rax, 0x7fffffffffffffe0
mov qword [rsp + 0x38], rdx
lea rcx, [rdx*8]
add rax, 0x10
and rcx, rax
movzx eax, byte [0x1406ba220]
mov edx, 8
call fcn.140087770
test rax, rax
je 0x1402704b5
mov r15, rax
movzx eax, byte [0x1406ba220]
mov ecx, 0x100
mov edx, 8
call fcn.140087770
test rax, rax
mov qword [rsp + 0x40], r15
je 0x1402704cf
mov rcx, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x68]
lea rdx, [rax + 0x20]
mov qword [rsp + 0xc0], rdx
lea rdx, [rax + 0x10]
mov qword [rsp + 0x100], rdx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0xa8], rax
mov eax, 0x10
mov qword [rsp + 0xb8], rax
xor ebx, ebx
lea rax, str._rustc_608e9682f0a6482903de8d3332770104a0ad943clibrarycore_src_slice_sort.rs
mov qword [rsp + 0xf0], rax
movabs r12, 0xffffffffffffffe
xor ebp, ebp
mov r14, rcx
mov rdx, qword [rsp + 0x38]
jmp 0x14026d473
mov ecx, 8
mov edx, 0xf8
call fcn.1400a9a20
jmp 0x14027053a
mov ecx, 8
mov edx, 0xf8
call fcn.1400a9a20
jmp 0x14027053a
lea rcx, str.called__Option::unwrap____on_a__None__valueinvalid_type:___expected
lea r8, str._rustc_608e9682f0a6482903de8d3332770104a0ad943clibrarycore_src_slice_sort.rs
mov edx, 0x2b
call fcn.1400b45f0
jmp 0x14027053a
lea rcx, str.called__Option::unwrap____on_a__None__valueinvalid_type:___expected
lea r8, str._rustc_608e9682f0a6482903de8d3332770104a0ad943clibrarycore_src_slice_sort.rs
mov edx, 0x2b
call fcn.1400b45f0
jmp 0x14027053a