Function at 0x14025aac0
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 [0x1403531c0]
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 0x14025ad23
mov rax, qword [rdx]
mov rcx, qword [rdx + 8]
sub rcx, rax
cmp rcx, r8
jb 0x14025ad3e
lea r9, [r8 + rax]
sub rcx, r8
mov rdi, qword [r15 + 0x30]
lea rax, [rdi + 1]
cmp rcx, rax
jb 0x14025ad59
xor edx, edx
mov rax, rcx
div rdi
test rdx, rdx
jne 0x14025aba0
mov rdx, rsi
mov rcx, r15
call fcn.140249d90
xor ebx, ebx
test rdi, rdi
je 0x14025ab75
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 0x14025ab50
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1402d55d0
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 0x14025acf9
lea rax, [rdi + rdi]
cmp rbp, rax
jae 0x14025acf9
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 0x14025ac37
movabs rax, 0x7fffffffffffffff
cmp r13, rax
ja 0x14025acf3
mov edx, 1
mov rcx, r13
call fcn.140245630
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 fcn.1402f6bc0
mov r13, rbx
mov qword [rsp + 0x58], rbx
mov r8, qword [rsp + 0x40]
jmp 0x14025ac41
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
lea rdx, [r8 + r12]
mov rcx, rsi
call fcn.140249200
mov r8, qword [rsp + 0x40]
mov rdx, rsi
mov rcx, r15
call fcn.140249d90
mov r8, rdi
mov rdx, qword [r15 + 0x18]
mov rcx, r14
call fcn.140249980
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 0x14025aca8
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 0x14025ac90
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.140249310
nop
test r14, r14
je 0x14025acee
sub rbx, r14
mov r8d, 1
mov rdx, rbx
mov rcx, r14
call fcn.1402456d0
nop
jmp 0x14025ab75
call fcn.1400037e0
int3
mov dword [rsp + 0x20], 0xac
lea r9, str.C:_Users_Rosalyn_vcpkg_buildtrees_botan_src_3.5.0_2446fa6972.clean_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.140251590
int3
lea r8, str.C:_Users_Rosalyn_vcpkg_buildtrees_botan_src_3.5.0_2446fa6972.clean_src_lib_modes_cbc_cbc.cpp
lea rdx, str.finish_msg
lea rcx, str.state__.empty____false
call fcn.140251790
int3
lea r8, str.C:_Users_Rosalyn_vcpkg_buildtrees_botan_src_3.5.0_2446fa6972.clean_src_lib_modes_cbc_cbc.cpp
lea rdx, str.finish_msg
lea rcx, str.Offset_is_out_of_range
call fcn.1402516f0
int3
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.14025ae50
nop
lea r8, str.:_insufficient_data_to_encrypt
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.14024ba80
nop
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.140247060
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.14024f370
lea rdx, [0x140351488]
lea rcx, [rsp + 0x70]
call fcn.1402d6228
int3