Function at 0x14000c560
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov qword [rsp + 0xb0], r9
mov rbx, r8
mov r14, rdx
mov rdi, rcx
mov qword [rsp + 0x20], 2
lea r9, [0x14003c533]
lea rcx, [rsp + 0xc0]
call fcn.14000be00
mov rdx, qword [rsp + 0x110]
mov r8, qword [rsp + 0xc8]
cmp r8, rdx
sete r9b
cmp qword [rsp + 0xc0], 0
mov r13, qword [rsp + 0x108]
je 0x14000c8b1
mov r12, qword [rsp + 0xe8]
mov r11, rbx
cmp r12, rdx
je 0x14000c9c4
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x120]
lea rcx, [rax - 1]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rcx
mov rbp, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0xd8]
mov r10, rax
mov rcx, r9
mov qword [rsp + 0x140], r9
sub r10, r9
mov qword [rsp + 0x130], r10
lea rcx, [r8 - 1]
mov qword [rsp + 0x128], rcx
cmp rcx, rax
setb byte [rsp + 0x2f]
lea rsi, [r12 + r13]
lea rcx, [r8 + rbp]
dec rcx
mov qword [rsp + 0x138], rcx
lea rdi, [r8 + r12]
dec rdi
mov r11, r12
mov rcx, qword [rsp + 0x38]
lea r9, [r12 + rcx]
cmp r9, rdx
jae 0x14000c9b5
mov rcx, qword [rsp + 0x140]
add rcx, r11
mov qword [rsp + 0xb8], rcx
lea r12, [r11 + rax]
mov r14, r11
sub r14, r8
inc r14
mov r10, r11
cmp rbx, 0xffffffffffffffff
jne 0x14000c6d7
jmp 0x14000c7a5
xor ebx, ebx
mov r10, r12
mov rcx, qword [rsp + 0x38]
lea r9, [r10 + rcx]
cmp r9, rdx
jae 0x14000c9b5
cmp r11, r10
jne 0x14000c9b5
movzx ecx, byte [r13 + r9]
mov r9, qword [rsp + 0x50]
bt r9, rcx
jae 0x14000c6c0
cmp r8, rbx
mov rcx, rbx
cmova rcx, r8
mov r9, rcx
nop
cmp r9, rax
jae 0x14000c730
mov r10, r9
add r9, r11
cmp r9, rdx
jae 0x14000cf3f
lea r9, [r10 + 1]
movzx r15d, byte [rbp + r10]
cmp r15b, byte [rsi + r10]
je 0x14000c700
add r10, r14
xor ebx, ebx
jmp 0x14000c6c5
mov r10, r8
nop word cs:[rax + rax]
cmp rbx, r10
jae 0x14000c860
dec r10
cmp r10, rax
jae 0x14000c89f
lea r9, [r10 + r11]
cmp r9, rdx
jae 0x14000cf2d
movzx ecx, byte [rbp + r10]
cmp cl, byte [r13 + r9]
je 0x14000c740
mov rbx, qword [rsp + 0x130]
mov r10, qword [rsp + 0xb8]
jmp 0x14000c6c5
add r10, r14
mov rcx, qword [rsp + 0x38]
lea r9, [r10 + rcx]
cmp r9, rdx
jae 0x14000c9b5
cmp r11, r10
jne 0x14000c9b5
movzx ecx, byte [r13 + r9]
mov r9, qword [rsp + 0x50]
bt r9, rcx
mov r10, r12
jae 0x14000c793
mov rcx, r8
nop word cs:[rax + rax]
cmp rcx, rax
jae 0x14000c800
mov r10, rcx
add rcx, r11
cmp rcx, rdx
jae 0x14000cf3c
lea rcx, [r10 + 1]
movzx r9d, byte [rbp + r10]
cmp r9b, byte [rsi + r10]
je 0x14000c7d0
jmp 0x14000c790
test byte [rsp + 0x2f], 1
je 0x14000c88b
mov r9, rdi
mov r10, qword [rsp + 0x138]
mov rbx, r8
nop dword [rax]
sub rbx, 1
jb 0x14000c870
cmp r9, rdx
jae 0x14000cf2d
movzx ecx, byte [r10]
dec r10
lea r15, [r9 - 1]
cmp cl, byte [r13 + r9]
mov r9, r15
je 0x14000c820
mov r10, qword [rsp + 0xb8]
jmp 0x14000c793
xor ebx, ebx
jmp 0x14000c877
mov rbx, 0xffffffffffffffff
add rsi, rax
add rdi, rax
cmp r12, rdx
jne 0x14000c66f
jmp 0x14000ced6
mov rbx, 0xffffffffffffffff
test r8, r8
je 0x14000c877
mov r10, qword [rsp + 0x128]
lea r8, [0x14003c888]
mov rcx, r10
mov rdx, rax
call fcn.14002f4c0
cmp byte [rsp + 0xda], 0
mov r11, rbx
jne 0x14000c9c4
movzx eax, byte [rsp + 0xd8]
test r9b, 1
je 0x14000c92e
test r8, r8
je 0x14000cec3
cmp r8, rdx
jae 0x14000cee8
cmp byte [r13 + r8], 0xc0
jl 0x14000cf55
mov r11, rbx
test al, al
je 0x14000c9c4
nop dword [rax]
xor al, 1
jne 0x14000c900
jmp 0x14000cf04
movzx r10d, byte [r13 + r8]
test r10b, r10b
js 0x14000c951
movzx r9d, r10b
mov ecx, eax
xor cl, 1
test al, al
mov eax, ecx
je 0x14000ce4a
test r8, r8
je 0x14000c910
cmp r8, rdx
jae 0x14000cf55
movzx r10d, byte [r13 + r8]
cmp r10b, 0xbf
jle 0x14000cf55
test r10b, r10b
jns 0x14000c91b
mov ecx, r10d
and cl, 0x1f
movzx r9d, cl
movzx esi, byte [r13 + r8 + 1]
and esi, 0x3f
cmp r10b, 0xe0
jb 0x14000c99d
movzx r11d, byte [r13 + r8 + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x14000c9a9
movzx ecx, byte [r13 + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r11d, 6
and ecx, 0x3f
or ecx, r11d
or r9d, ecx
jmp 0x14000c91f
shl r9d, 6
or r9d, esi
jmp 0x14000c91f
shl r9d, 0xc
or r9d, r11d
jmp 0x14000c91f
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
sub rbx, r11
test bl, 1
jne 0x14000cac8
add r14, r11
mov dword [rsp + 0x70], 3
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0x88]
call fcn.14000cfd0
test al, 1
je 0x14000cb40
mov ebx, edx
mov rax, qword [rsp + 0xa8]
cmp dword [rax], 3
jne 0x14000ca4e
cmp qword [rsp + 0x90], 0
je 0x14000ca4e
cmp qword [rsp + 0x98], 0
je 0x14000cb34
movzx eax, byte [0x14004c0f8]
mov ecx, 8
call fcn.14001a7a0
test rax, rax
je 0x14000cfa5
mov r12, rax
mov byte [rax], bl
mov qword [rsp + 0x58], 8
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x88]
movups xmm1, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov ebx, 1
lea r14, [rsp + 0xc0]
lea r15, [rsp + 0x58]
jmp 0x14000cafc
mov r14d, 1
jmp 0x14000cbc3
mov r8d, 1
mov rcx, r15
mov rdx, rbx
call fcn.14002f990
mov r12, qword [rsp + 0x60]
mov edx, esi
nop dword [rax + rax]
mov byte [r12 + rbx], dl
inc rbx
mov qword [rsp + 0x68], rbx
mov rcx, r14
call fcn.14000cfd0
test al, 1
je 0x14000cb5b
cmp rbx, qword [rsp + 0x58]
jne 0x14000caf0
mov esi, edx
mov rax, qword [rsp + 0xe0]
cmp dword [rax], 3
jne 0x14000cad3
cmp qword [rsp + 0xc8], 0
je 0x14000cad3
cmp qword [rsp + 0xd0], 0
jne 0x14000cad3
lea rcx, str._rustc_8679004993f08807289911d9f400f4ac4391d2bclibrarycore_src_sliceiter.rs
call fcn.14002f6c0
cmp dword [rsp + 0x70], 3
mov rcx, qword [rsp + 0xb0]
jne 0x14000cb93
mov r14d, 1
xor ebp, ebp
xor ebx, ebx
jmp 0x14000cb83
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
cmp dword [rsp + 0x70], 3
jne 0x14000cb9f
movabs rax, 0x8000000000000000
cmp rbp, rax
mov rcx, qword [rsp + 0xb0]
je 0x14000cbc3
cmp rbx, rcx
jne 0x14000cd04
xor eax, eax
jmp 0x14000cce1
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
jmp 0x14000cbc0
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
test rbp, rbp
je 0x14000cbc0
mov rcx, qword [0x14004c090]
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, rsi
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], 0
test r14d, r14d
je 0x14000cc04
cmp r14d, 1
jne 0x14000ccae
lea rdx, str.Odd_number_of_digitsInvalid_string_length
lea rcx, [rsp + 0x58]
mov r8d, 0x14
jmp 0x14000ccc0
shr r14, 0x20
mov dword [rsp + 0x84], r14d
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x84]
mov qword [rsp + 0x88], rax
lea rax, [0x14000b820]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x98], rax
lea rax, [fcn.140009130]
mov qword [rsp + 0xa0], rax
lea rax, str.Invalid_character__at_position
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 2
mov qword [rsp + 0xe0], 0
lea rax, [rsp + 0x88]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 2
lea rdx, [0x14003bc08]
lea rcx, [rsp + 0x58]
lea r8, [rsp + 0xc0]
call fcn.140009e00
jmp 0x14000ccc5
lea rdx, [0x14003bbec]
lea rcx, [rsp + 0x58]
mov r8d, 0x15
call fcn.14000d140
test al, al
jne 0x14000cf6c
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov eax, 1
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], rcx
mov qword [rdi], rax
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rsi, [r14 + rbx]
test rbx, rbx
je 0x14000ce9b
js 0x14000cfb4
mov qword [rsp + 0x30], rdi
movzx eax, byte [0x14004c0f8]
mov rcx, rbx
call fcn.14001a7a0
test rax, rax
je 0x14000cf98
mov qword [rsp + 0x50], rax
mov rcx, rax
mov rdx, r14
mov r8, rbx
call fcn.14002def0
movzx edi, byte [r14]
movzx eax, byte [0x14004c0f8]
mov ecx, 0x20
call fcn.14001a7a0
test rax, rax
je 0x14000cfb9
mov r15, rax
mov byte [rax], dil
mov qword [rsp + 0xc0], 0x20
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], 1
mov r12d, 0x1f
mov edi, 2
mov qword [rsp + 0x38], r14
jmp 0x14000cdd6
mov qword [rsp + 0x38], r14
mov rbp, rbx
lea rdx, [rdi - 1]
movzx r13d, byte [r14]
cmp rdx, qword [rsp + 0xc0]
je 0x14000ce2d
dec r12
mov byte [r15 + rdi - 1], r13b
mov qword [rsp + 0xd0], rdi
inc rdi
test r12, r12
je 0x14000ce5d
inc r14
cmp r14, rsi
jne 0x14000cda8
movzx eax, byte [0x14004c0f8]
mov rcx, rbx
call fcn.14001a7a0
test rax, rax
je 0x14000cf98
mov r14, rax
mov rcx, rax
mov rdx, qword [rsp + 0x50]
mov r8, rbx
call fcn.14002def0
mov rsi, r14
add rsi, rbx
test rbp, rbp
je 0x14000cda0
mov rcx, qword [0x14004c090]
xor edx, edx
mov r8, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14000cda0
lea rcx, [rsp + 0xc0]
mov r8, r12
call fcn.14002f990
mov r15, qword [rsp + 0xc8]
jmp 0x14000cdba
cmp r9d, 0x110000
cmove r8, rbx
mov r11, r8
jmp 0x14000c9c4
mov rcx, qword [0x14004c090]
xor edx, edx
mov r8, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbp, rbp
je 0x14000cf0c
mov rcx, qword [0x14004c090]
xor edx, edx
mov r8, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0xd0]
jmp 0x14000cf11
test rbp, rbp
je 0x14000ceb2
mov rcx, qword [0x14004c090]
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14d, 1
xor ebp, ebp
xor ecx, ecx
xor eax, eax
jmp 0x14000cce1
mov r11, rbx
test al, al
je 0x14000c9c4
nop
xor al, 1
jne 0x14000ced0
jmp 0x14000cf04
mov rbx, qword [rsp + 0x48]
mov r11, rbx
mov rdi, qword [rsp + 0x30]
jmp 0x14000c9bf
mov r11, rbx
test al, al
je 0x14000c9c4
nop word cs:[rax + rax]
xor al, 1
jne 0x14000cf00
mov r11, rbx
jmp 0x14000c9c4
mov ecx, 0x20
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
xor eax, eax
jmp 0x14000cce1
lea r8, [0x14003c8a0]
mov rcx, r9
call fcn.14002f4c0
mov rcx, r8
add rcx, r11
cmp rdx, rcx
cmova rcx, rdx
lea r8, [0x14003c8b8]
call fcn.14002f4c0
lea rax, [0x14003ce38]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov r9, rdx
call fcn.14002f930
lea rax, [0x14003bc70]
mov qword [rsp + 0x20], rax
lea rcx, str.a_Display_implementation_returned_an_error_unexpectedly
lea r9, [0x14003bc88]
lea r8, [rsp + 0xc0]
mov edx, 0x37
call fcn.14002f760
mov ecx, 1
mov rdx, rbx
call fcn.14002ea00
mov ecx, 1
mov edx, 8
call fcn.14002ea00
call fcn.140007930
mov ecx, 1
mov edx, 0x20
call fcn.14002ea00
int3