Function at 0x180014770
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x100], 0xfffffffffffffffe
mov qword [rbp - 0x58], r9
mov rdi, r8
mov r15, rdx
mov r13, rcx
mov qword [rsp + 0x20], 2
lea r9, str.0xC:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001fhex_0.4.3_srclib.rs
lea rcx, [rbp + 0x30]
call fcn.180041440
mov r8, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x80]
cmp r8, rdx
sete r9b
cmp dword [rbp + 0x30], 1
jne 0x180014ab9
mov r10, qword [rbp + 0x58]
mov r11, rdi
cmp r10, rdx
je 0x180014bcc
mov qword [rbp + 0xc8], rdi
mov qword [rbp + 0xc0], r15
mov qword [rbp + 0xf0], r13
mov rsi, qword [rbp + 0x88]
mov rax, qword [rbp + 0x90]
lea r9, [rax - 1]
mov qword [rbp + 0xe8], r9
mov r9, qword [rbp + 0x50]
mov qword [rbp + 0xb8], r9
mov rbx, qword [rbp + 0x68]
mov r11, qword [rbp + 0x48]
mov rdi, rax
mov qword [rbp - 0x50], r11
sub rdi, r11
mov qword [rbp - 0x40], rdi
lea r9, [r8 - 1]
mov qword [rbp - 0x38], r9
cmp r9, rax
setb byte [rbp + 0xfe]
mov r9, r10
sub r9, r8
mov qword [rbp + 0x18], r9
lea r14, [rcx + r10]
lea r13, [rcx + r8]
lea r15, [rsi + r8]
lea r9, [rsi + r8]
dec r9
mov qword [rbp - 0x48], r9
lea r9, [r8 + r10]
dec r9
mov qword [rbp + 0x28], r9
mov r11, r10
mov r9, qword [rbp + 0xe8]
add r9, r10
cmp r9, rdx
jae 0x180014b50
mov r10, qword [rbp - 0x50]
add r10, r11
mov qword [rbp + 0x20], r10
lea r10, [r11 + rax]
cmp rbx, 0xffffffffffffffff
mov qword [rbp + 0xa0], r10
je 0x1800149a0
mov r12, r11
jmp 0x1800148d8
xor ebx, ebx
mov r12, r10
mov r9, qword [rbp + 0xe8]
add r9, r12
cmp r9, rdx
jae 0x180014b50
cmp r11, r12
jne 0x180014b50
movzx r9d, byte [rcx + r9]
mov rdi, qword [rbp + 0xb8]
bt rdi, r9
jae 0x1800148c0
cmp r8, rbx
mov r9, rbx
cmova r9, r8
mov r10, r9
cmp r10, rax
jae 0x180014930
lea rdi, [r11 + r10]
cmp rdi, rdx
jae 0x18001527b
lea r12, [r10 + 1]
movzx edi, byte [rsi + r10]
cmp dil, byte [r14 + r10]
mov r10, r12
je 0x180014900
add r12, qword [rbp + 0x18]
xor ebx, ebx
jmp 0x180014971
mov r10, r8
nop word cs:[rax + rax]
cmp rbx, r10
jae 0x180014990
dec r10
cmp r10, rax
jae 0x180014aa7
lea r9, [r10 + r11]
cmp r9, rdx
jae 0x180015269
movzx edi, byte [rsi + r10]
cmp dil, byte [rcx + r9]
je 0x180014940
mov rbx, qword [rbp - 0x40]
mov r12, qword [rbp + 0x20]
mov r10, qword [rbp + 0xa0]
mov r9, qword [rbp + 0xe8]
add r9, r12
cmp r9, rdx
jb 0x1800148d8
jmp 0x180014b50
xor ebx, ebx
jmp 0x180014a77
mov r10, r11
jmp 0x1800149c3
mov r10, qword [rbp + 0x20]
nop dword [rax]
mov r9, qword [rbp + 0xe8]
add r9, r10
cmp r9, rdx
jae 0x180014b50
cmp r11, r10
jne 0x180014b50
movzx r9d, byte [rcx + r9]
mov r10, qword [rbp + 0xb8]
bt r10, r9
mov r10, qword [rbp + 0xa0]
jae 0x1800149b0
xor r9d, r9d
mov rbx, r11
nop dword [rax + rax]
lea r10, [r8 + r9]
cmp r10, rax
jae 0x180014a20
lea r10, [r8 + rbx]
cmp r10, rdx
jae 0x180015278
movzx edi, byte [r15 + r9]
lea r10, [rbx + 1]
inc r9
cmp dil, byte [r13 + rbx]
mov rbx, r10
je 0x1800149f0
jmp 0x1800149b0
cmp byte [rbp + 0xfe], 0
je 0x180014a97
mov r9, qword [rbp + 0x28]
mov r10, qword [rbp - 0x48]
mov rbx, r8
nop word cs:[rax + rax]
sub rbx, 1
jb 0x180014a70
cmp r9, rdx
jae 0x180015269
movzx r12d, byte [r10]
dec r10
lea rdi, [r9 - 1]
cmp r12b, byte [rcx + r9]
mov r9, rdi
je 0x180014a40
jmp 0x1800149a5
mov rbx, 0xffffffffffffffff
add qword [rbp + 0x18], rax
add r14, rax
add qword [rbp + 0x28], rax
mov r10, qword [rbp + 0xa0]
cmp r10, rdx
jne 0x180014879
jmp 0x18001517c
mov rbx, 0xffffffffffffffff
test r8, r8
je 0x180014a77
mov r10, qword [rbp - 0x38]
lea r8, [0x1800a94e0]
mov rcx, r10
mov rdx, rax
call fcn.180055aa0
test byte [rbp + 0x4a], 1
mov r11, rdi
jne 0x180014bcc
movzx eax, byte [rbp + 0x48]
test r9b, r9b
je 0x180014b28
test r8, r8
je 0x180014b8c
cmp r8, rdx
jae 0x180014bab
cmp byte [rcx + r8], 0xc0
jl 0x180015294
mov r11, rdi
test al, 1
je 0x180014bcc
mov ecx, eax
nop dword [rax]
xor cl, 1
cmp al, 1
mov eax, ecx
jne 0x180014b00
jmp 0x180014bc9
movzx r9d, byte [rcx + r8]
test r9b, r9b
js 0x180014b4a
mov r9d, eax
xor r9b, 1
test al, 1
mov eax, r9d
je 0x180014b77
test r8, r8
je 0x180014b10
cmp r8, rdx
jae 0x180015294
movzx r9d, byte [rcx + r8]
cmp r9b, 0xbf
jle 0x180015294
test r9b, r9b
jns 0x180014b1a
cmp r9b, 0xe0
jmp 0x180014b1a
mov r13, qword [rbp + 0xf0]
mov r15, qword [rbp + 0xc0]
mov rdi, qword [rbp + 0xc8]
mov rsi, rdi
sub rsi, r11
test sil, 1
jne 0x1800151a4
jmp 0x180014bdc
mov r11, r8
mov rsi, rdi
sub rsi, r11
test sil, 1
jne 0x1800151a4
jmp 0x180014bdc
mov r11, rdi
test al, 1
je 0x180014bcc
mov ecx, eax
nop word cs:[rax + rax]
xor cl, 1
cmp al, 1
mov eax, ecx
jne 0x180014ba0
jmp 0x180014bc9
mov r11, rdi
test al, 1
je 0x180014bcc
mov ecx, eax
nop word cs:[rax + rax]
xor cl, 1
cmp al, 1
mov eax, ecx
jne 0x180014bc0
mov r11, rdi
mov rsi, rdi
sub rsi, r11
test sil, 1
jne 0x1800151a4
mov dword [rbp + 0xa8], 3
cmp rdi, r11
jne 0x180014c13
mov r15d, 1
xor r12d, r12d
xor r14d, r14d
xor ebx, ebx
mov eax, r15d
shl r12, 0x20
or r12, rax
mov rdi, qword [rbp - 0x58]
cmp r14, rdi
jne 0x180014c41
xor eax, eax
jmp 0x180015242
add r15, r11
cmp rsi, 2
mov ebx, 2
cmovb rbx, rsi
movzx eax, byte [r15]
lea ecx, [rax - 0x41]
cmp cl, 6
mov qword [rbp + 0xf0], r13
jae 0x180014d3c
add al, 0xc9
jmp 0x180014d4a
test r14, r14
js 0x18001530e
lea r15, [r12 + r14]
mov edi, 1
cmp r12, r15
je 0x180014c7d
movzx eax, byte [0x1800da5b1]
mov esi, 1
mov edx, 1
mov rcx, r14
call fcn.18000ce50
test rax, rax
je 0x180015310
mov rdi, rax
mov rcx, rdi
mov rdx, r12
mov r8, r14
call fcn.180052ce0
lea rax, [rdi + r14]
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
mov qword [rbp], rbx
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], 0x1f
mov rsi, rbx
mov rbx, r12
test r14, r14
jne 0x180014d6f
mov ebx, 1
cmp r12, r15
je 0x180014cf0
movzx eax, byte [0x1800da5b1]
mov edx, 1
mov rcx, r14
call fcn.18000ce50
test rax, rax
je 0x180015341
mov rbx, rax
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.180052ce0
test rsi, rsi
je 0x180014d14
mov rdx, rsi
mov r8d, 1
mov rcx, r12
call fcn.18000ce60
mov rax, r14
add rax, rbx
mov qword [rbp - 0x10], rbx
mov qword [rbp], r14
mov qword [rbp + 8], rax
cmp r12, r15
jne 0x180014d6f
mov r12d, 1
xor ebx, ebx
xor edi, edi
xor eax, eax
jmp 0x180015242
lea ecx, [rax - 0x61]
cmp cl, 6
jae 0x180015123
add al, 0xa9
mov r12d, eax
cmp rsi, 1
je 0x1800152e9
movzx eax, byte [r15 + 1]
lea ecx, [rax - 0x41]
cmp cl, 6
jae 0x180014f9c
add al, 0xc9
jmp 0x180014faa
mov qword [rbp + 0xf0], r13
lea rax, [rbx + 1]
mov qword [rbp - 8], rax
movzx ebx, byte [rbx]
xor eax, eax
cmp r12, r15
setne al
neg rax
cmp rax, 0x1f
mov ecx, 0x1f
cmovb rcx, rax
cmp rcx, 8
mov esi, 7
cmovae rsi, rcx
inc rsi
movzx eax, byte [0x1800da5b1]
mov edx, 1
mov rcx, rsi
call fcn.18000ce50
test rax, rax
je 0x18001532b
mov r15, rax
mov byte [rax], bl
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], 1
movups xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movups xmm2, xmmword [rbp - 0x10]
movups xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x40], xmm1
mov r12, qword [rbp + 0x10]
mov qword [rbp + 0x70], r12
movaps xmmword [rbp + 0x60], xmm3
movaps xmmword [rbp + 0x50], xmm2
mov rax, qword [rbp + 0x38]
mov r14, qword [rbp + 0x48]
xor ebx, ebx
mov qword [rbp + 0xb8], r14
mov qword [rbp + 0xe8], rax
sub r14, rax
setne bl
neg rbx
mov edi, 1
jmp 0x180014e51
mov byte [r15 + rdx], sil
inc rdx
mov rdi, rdx
mov qword [rbp + 0xe0], rdx
sub r12, 1
jb 0x180014f50
mov qword [rbp + 0x70], r12
mov rax, qword [rbp + 0x58]
cmp rax, qword [rbp + 0x68]
jne 0x180014ef2
test r14, r14
js 0x1800152a8
je 0x180014e9f
movzx eax, byte [0x1800da5b1]
mov esi, 1
mov edx, 1
mov rcx, r14
call fcn.18000ce50
test rax, rax
je 0x1800152d9
mov r13, rax
jmp 0x180014ea5
mov r13d, 1
mov rcx, r13
mov rdx, qword [rbp + 0xe8]
mov r8, r14
call fcn.180052ce0
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x180014ecf
mov rcx, qword [rbp + 0x50]
mov r8d, 1
call fcn.18000ce60
lea rax, [r14 + r13]
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rax
mov rax, r13
mov rcx, qword [rbp + 0xb8]
cmp rcx, qword [rbp + 0xe8]
je 0x180014f50
lea rcx, [rax + 1]
mov qword [rbp + 0x58], rcx
movzx esi, byte [rax]
mov rdx, rdi
cmp rdi, qword [rbp + 0xd0]
jne 0x180014e40
cmp rbx, r12
mov r8, r12
cmovb r8, rbx
inc r8
test r12, r12
mov eax, 1
cmove r8, rax
mov qword [rsp + 0x20], 1
mov r9d, 1
lea rcx, [rbp + 0xd0]
call fcn.180054070
mov r15, qword [rbp + 0xd8]
mov rdx, rdi
jmp 0x180014e40
mov rdx, qword [rbp + 0x40]
test rdx, rdx
je 0x180014f68
mov rcx, qword [rbp + 0x30]
mov r8d, 1
call fcn.18000ce60
mov rdx, qword [rbp + 0x60]
test rdx, rdx
mov r13, qword [rbp + 0xf0]
je 0x180014f87
mov rcx, qword [rbp + 0x50]
mov r8d, 1
call fcn.18000ce60
mov rbx, qword [rbp + 0xd0]
mov r12, qword [rbp + 0xd8]
xor eax, eax
jmp 0x180015242
lea ecx, [rax - 0x61]
cmp cl, 6
jae 0x180015136
add al, 0xa9
mov r13d, eax
mov rdi, r15
movzx eax, byte [0x1800da5b1]
mov r14d, 1
mov ecx, 8
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x1800152ff
mov r15, rax
add rdi, rbx
sub rsi, rbx
shl r12b, 4
or r13b, r12b
mov byte [rax], r13b
mov qword [rbp + 0xd0], 8
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], 1
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0x40], 2
mov qword [rbp + 0x48], 1
lea r8, [rbp + 0xa8]
mov qword [rbp + 0x50], r8
lea rbx, [rbp + 0x30]
lea r12, [rbp + 0xfd]
lea r13, [rbp + 0xd0]
jmp 0x180015079
mov qword [rsp + 0x20], 1
mov r8d, 1
mov r9d, 1
mov rcx, r13
mov rdx, r14
call fcn.180054070
mov r15, qword [rbp + 0xd8]
mov byte [r15 + r14], sil
inc r14
mov qword [rbp + 0xe0], r14
mov r8, qword [rbp + 0x50]
mov rcx, rbx
mov rdx, r12
call fcn.180015510
test al, 1
je 0x1800150bb
mov esi, edx
cmp r14, qword [rbp + 0xd0]
jne 0x180015067
mov rax, qword [rbp + 0x50]
cmp dword [rax], 3
jne 0x180015040
cmp qword [rbp + 0x38], 0
je 0x180015040
cmp qword [rbp + 0x40], 0
jne 0x180015040
lea rcx, str._rustc_a7399ba69d37b019677a9c47fe89ceb8dd82db2dlibrarycore_src_sliceiter.rs
call fcn.180055fb0
jmp 0x180015355
mov rbx, qword [rbp + 0xd0]
mov esi, dword [rbp + 0xa8]
cmp esi, 3
jne 0x1800150ef
mov r12, r15
shr r12, 0x20
mov rax, rbx
neg rax
mov r13, qword [rbp + 0xf0]
jno 0x180014bf9
mov esi, r15d
jmp 0x1800151a9
mov r12d, dword [rbp + 0xac]
mov r14, qword [rbp + 0xb0]
test rbx, rbx
mov r13, qword [rbp + 0xf0]
je 0x1800151a9
mov r8d, 1
mov rcx, r15
mov rdx, rbx
call fcn.18000ce60
jmp 0x1800151a9
lea r12d, [rax - 0x30]
cmp r12b, 0xa
jb 0x180014d4d
xor r14d, r14d
jmp 0x18001514a
lea r13d, [rax - 0x30]
mov r14d, 1
cmp r13b, 0xa
jb 0x180014fad
mov dword [rbp + 0xa8], 0
mov byte [rbp + 0xac], al
mov byte [rbp + 0xaf], 0
mov word [rbp + 0xad], 0
xor esi, esi
mov r12d, dword [rbp + 0xac]
mov r13, qword [rbp + 0xf0]
jmp 0x1800151a9
mov rdi, qword [rbp + 0xc8]
mov r11, rdi
mov r13, qword [rbp + 0xf0]
mov r15, qword [rbp + 0xc0]
mov rsi, rdi
sub rsi, r11
test sil, 1
je 0x180014bdc
mov esi, 1
mov dword [rbp + 0xa8], esi
mov dword [rbp + 0xac], r12d
mov qword [rbp + 0xb0], r14
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xd8], 1
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0x60], 0x20
mov byte [rbp + 0x68], 3
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x40], 0
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x50], rax
lea rax, [0x1800a93c0]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0x30]
call fcn.1800157c0
test al, al
jne 0x1800152ac
mov rbx, qword [rbp + 0xd0]
mov r12, qword [rbp + 0xd8]
mov rdi, qword [rbp + 0xe0]
mov eax, 1
mov qword [r13 + 8], rbx
mov qword [r13 + 0x10], r12
mov qword [r13 + 0x18], rdi
mov qword [r13], rax
mov rax, r13
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, [0x1800a94f8]
mov rcx, r9
call fcn.180055aa0
mov r9, r8
add r9, r11
cmp rdx, r9
cmova r9, rdx
lea r8, [0x1800a9510]
mov rcx, r9
call fcn.180055aa0
lea rax, [0x1800a9550]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.180055f90
xor esi, esi
jmp 0x1800152dc
lea rax, [0x1800a9478]
mov qword [rsp + 0x20], rax
lea rcx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_a7399ba69d37b019677a9c47fe89ceb8dd82db2dlibrary_alloc_src_string.rs
lea r9, [0x1800a9528]
lea r8, [rbp + 0xfd]
mov edx, 0x37
call fcn.180055cc0
jmp 0x180015355
mov r13, r14
mov rcx, rsi
mov rdx, r13
call fcn.180055840
jmp 0x180015355
lea r8, [0x1800a9648]
mov ecx, 1
mov edx, 1
call fcn.180055aa0
mov ecx, 1
mov edx, 8
call fcn.180055840
xor esi, esi
mov qword [rbp + 0xe8], rbx
mov qword [rbp + 0xb8], r12
mov rcx, rsi
mov rdx, r14
call fcn.180055840
jmp 0x180015355
mov byte [rbp + 0xff], 1
mov ecx, 1
mov rdx, rsi
call fcn.180055840
jmp 0x180015355
mov byte [rbp + 0xff], 1
mov ecx, 1
mov rdx, r14
call fcn.180055840
ud2