Function at 0x14001ccc0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rsi
push r12
push r14
lea rbp, [r11 - 0x38]
sub rsp, 0x118
mov rax, qword [0x1400df040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rcx + 0x20]
mov r12, r8
mov rsi, rdx
mov r14, rcx
cmp qword [rcx + 0x18], rax
je 0x14001d04c
mov qword [r11 - 0x30], rdi
xor edx, edx
mov rdi, qword [rcx + 0x30]
mov rax, r8
div rdi
mov qword [r11 - 0x38], r15
mov r15, rax
test rdx, rdx
jne 0x14001d007
mov qword [r11 - 0x28], rbx
test rax, rax
je 0x14001cfd2
mov qword [rbp - 0x78], rdi
mov qword [rsp + 0x78], rdi
nop
mov r8, qword [r14 + 0x38]
mov rbx, r15
mov rax, qword [r14 + 0x40]
mov rcx, qword [r14 + 8]
sub rax, r8
imul rbx, rdi
mov r10, qword [rcx]
cmp rax, rbx
cmovb rbx, rax
xor edx, edx
mov rax, rbx
div rdi
mov rdx, rsi
mov r9, rax
call qword [r10 + 0x50]
mov r8, qword [r14 + 0x18]
mov rdx, qword [r14 + 0x38]
mov qword [rbp - 0x80], r8
movaps xmm0, xmmword [rbp - 0x80]
mov qword [rsp + 0x70], rdx
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x30], xmm1
movdqa xmmword [rsp + 0x40], xmm0
cmp rdi, 0x20
jb 0x14001ce29
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
movups xmm1, xmmword [rdx]
mov rax, qword [r8 + 8]
movups xmm3, xmmword [rdx + 0x10]
movups xmmword [rbp - 0x30], xmm1
xor qword [rbp - 0x28], rax
mov rax, qword [r8 + 0x18]
movq rcx, xmm1
xor rcx, qword [r8]
mov qword [rbp - 0x30], rcx
movq rcx, xmm3
xor rcx, qword [r8 + 0x10]
add r8, 0x20
movups xmm0, xmmword [rbp - 0x30]
mov qword [rbp - 0x60], r8
movups xmmword [rbp - 0x20], xmm3
xor qword [rbp - 0x18], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x20], rcx
add rax, 0xffffffffffffffe0
movups xmm1, xmmword [rbp - 0x20]
mov rcx, qword [rsp + 0x38]
movups xmmword [rdx], xmm0
add rcx, 0xffffffffffffffe0
mov qword [rbp - 0x58], rax
movaps xmm0, xmmword [rbp - 0x60]
movups xmmword [rdx + 0x10], xmm1
add rdx, 0x20
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x70], rdx
movaps xmm1, xmmword [rbp - 0x70]
movaps xmmword [rsp + 0x30], xmm1
movdqa xmmword [rsp + 0x40], xmm0
cmp rcx, 0x20
jae 0x14001cd91
psrldq xmm1, 8
movq rcx, xmm1
test rcx, rcx
je 0x14001ce51
sub r8, rdx
nop dword [rax + rax]
movzx eax, byte [r8 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x14001ce40
mov rax, qword [r14 + 0x38]
mov rcx, rbx
sub rcx, rdi
mov qword [rsp + 0x60], rsi
add rax, rdi
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rax
mov r9, rcx
movaps xmm0, xmmword [rsp + 0x50]
mov r8, rsi
mov qword [rsp + 0x68], rcx
mov rdx, rcx
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm1
cmp rcx, 0x20
jb 0x14001cf3c
nop dword [rax + rax]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x48]
add r9, 0xffffffffffffffe0
movups xmm1, xmmword [rdx]
mov rax, qword [r8 + 8]
movups xmm3, xmmword [rdx + 0x10]
mov qword [rbp - 0x48], r9
movups xmmword [rbp - 0x30], xmm1
xor qword [rbp - 0x28], rax
mov rax, qword [r8 + 0x18]
movq rcx, xmm1
xor rcx, qword [r8]
mov qword [rbp - 0x30], rcx
movq rcx, xmm3
xor rcx, qword [r8 + 0x10]
add r8, 0x20
movups xmm0, xmmword [rbp - 0x30]
mov qword [rbp - 0x40], r8
movups xmmword [rbp - 0x20], xmm3
xor qword [rbp - 0x18], rax
lea rax, [rdx + 0x20]
mov qword [rbp - 0x20], rcx
mov rcx, qword [rsp + 0x38]
movups xmm1, xmmword [rbp - 0x20]
add rcx, 0xffffffffffffffe0
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x38], rcx
movups xmmword [rdx], xmm0
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rsp + 0x30], xmm0
movups xmmword [rdx + 0x10], xmm1
cmp r9, 0x20
jae 0x14001cea0
mov rdx, r9
test r9, r9
je 0x14001cf61
sub r8, rax
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r8 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x14001cf50
mov rcx, qword [r14 + 0x18]
mov rdx, rsi
sub rdx, rdi
add rdx, rbx
test rdi, rdi
je 0x14001cf8d
test rdx, rdx
je 0x14001d022
test rcx, rcx
je 0x14001d022
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [r14 + 0x38]
test rbx, rbx
je 0x14001cfa4
test rdx, rdx
je 0x14001d022
test rsi, rsi
je 0x14001d022
test rdx, rdx
je 0x14001cfbe
test rsi, rsi
je 0x14001cfbe
test rbx, rbx
je 0x14001cfbe
mov r8, rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
xor edx, edx
mov rax, rbx
div rdi
add rsi, rbx
sub r15, rax
jne 0x14001cd30
mov rbx, qword [rsp + 0x110]
mov rax, r12
mov rdi, qword [rsp + 0x108]
mov r15, qword [rsp + 0x100]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140092a00
add rsp, 0x118
pop r14
pop r12
pop rsi
pop rbp
ret
lea r8, str.src_lib_modes_cbc_cbc.cpp
lea rdx, str.process_msg
lea rcx, str.Input_is_not_full_blocks
call fcn.14000e380
int3
lea r9, str.build_include_public_botan_mem_ops.h
mov dword [rsp + 0x20], 0x93
lea r8, str.copy_mem
lea rdx, str.If_n___0_then_args_are_not_null
lea rcx, str.n___0_implies_in___nullptr__out___nullptr
call fcn.14000e220
int3
lea r8, str.src_lib_modes_cbc_cbc.cpp
lea rdx, str.process_msg
lea rcx, str.state__.empty____false
call fcn.14000e420
int3