Function at 0x14001c6a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x1400df040]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x40], r8
mov rsi, rdx
mov r15, rcx
mov rax, qword [rcx + 0x20]
cmp qword [rcx + 0x18], rax
je 0x14001c903
mov rax, qword [rdx]
mov rcx, qword [rdx + 8]
sub rcx, rax
cmp rcx, r8
jb 0x14001c91e
lea r9, [r8 + rax]
sub rcx, r8
mov rdi, qword [r15 + 0x30]
lea rax, [rdi + 1]
cmp rcx, rax
jb 0x14001c939
xor edx, edx
mov rax, rcx
div rdi
test rdx, rdx
jne 0x14001c780
mov rdx, rsi
mov rcx, r15
call fcn.140008280
xor ebx, ebx
test rdi, rdi
je 0x14001c755
lea r9, [rdi + rdi]
mov r8, qword [rsi + 8]
mov rdx, r8
sub rdx, r9
sub r8, rdi
movzx ecx, byte [r8 + rbx]
movzx eax, byte [rdx + rbx]
mov byte [r8 + rbx], al
mov byte [rdx + rbx], cl
inc rbx
cmp rbx, rdi
jne 0x14001c730
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.140092a00
mov rbx, qword [rsp + 0x128]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r12, rcx
sub r12, rdi
sub r12, rdx
mov rbp, rcx
sub rbp, r12
cmp rbp, rdi
jbe 0x14001c8d9
lea rax, [rdi + rdi]
cmp rbp, rax
jae 0x14001c8d9
lea r13, [rcx + r9]
lea rax, [r12 + r9]
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xor ebx, ebx
mov qword [rsp + 0x60], rbx
sub r13, rax
je 0x14001c817
movabs rax, 0x7fffffffffffffff
cmp r13, rax
ja 0x14001c8d3
mov edx, 1
mov rcx, r13
call fcn.14000ddc0
mov r14, rax
mov qword [rsp + 0x50], rax
lea rbx, [rax + r13]
mov qword [rsp + 0x60], rbx
mov r8, r13
mov rdx, qword [rsp + 0x30]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov r13, rbx
mov qword [rsp + 0x58], rbx
mov r8, qword [rsp + 0x40]
jmp 0x14001c821
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
lea rdx, [r8 + r12]
mov rcx, rsi
call fcn.140007370
mov r8, qword [rsp + 0x40]
mov rdx, rsi
mov rcx, r15
call fcn.140008280
mov r8, rdi
mov rdx, qword [r15 + 0x18]
mov rcx, r14
call fcn.140019b00
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
mov r9d, 1
mov r8, r14
mov rdx, r14
call qword [rax + 0x48]
sub rbp, rdi
je 0x14001c888
lea rdx, [r14 + rdi]
nop dword [rax + rax]
mov rax, rdx
sub rax, rdi
movzx ecx, byte [rax]
xor cl, byte [rdx]
mov byte [rax], cl
xor byte [rdx], cl
inc rdx
sub rbp, 1
jne 0x14001c870
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
mov r9d, 1
mov r8, r14
mov rdx, r14
call qword [rax + 0x48]
sub r13, r14
mov rdx, qword [rsi + 8]
mov r9, r13
mov r8, r14
mov rcx, rsi
call fcn.14001b8b0
nop
test r14, r14
je 0x14001c8ce
sub rbx, r14
mov r8d, 1
mov rdx, rbx
mov rcx, r14
call fcn.14000de60
nop
jmp 0x14001c755
call fcn.1400093c0
int3
mov dword [rsp + 0x20], 0xac
lea r9, str.src_lib_modes_cbc_cbc.cpp
lea r8, str.finish_msg
lea rdx, str.Left_over_size_in_expected_range
lea rcx, str.final_bytes___BS__final_bytes___2__BS
call fcn.14000e220
int3
lea r8, str.src_lib_modes_cbc_cbc.cpp
lea rdx, str.finish_msg
lea rcx, str.state__.empty____false
call fcn.14000e420
int3
lea r8, str.src_lib_modes_cbc_cbc.cpp
lea rdx, str.finish_msg
lea rcx, str.Offset_is_out_of_range
call fcn.14000e380
int3
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.14001ca30
nop
lea r8, str.:_insufficient_data_to_encrypt
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.140013550
nop
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.14000ae50
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.14000f790
lea rdx, [0x1400dbc60]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
int3