Function at 0x1401e1750
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rax, qword [0x1403291e8]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rsi, qword [rsp + 0xe8]
mov rdi, r8
mov r8, qword [rsp + 0xe0]
mov r12d, r9d
mov qword [rsp + 0x38], r8
mov r15, rdx
mov rbx, rcx
test r9d, r9d
je 0x1401e1a82
test rdi, rdi
jne 0x1401e17b6
mov rax, qword [rsi]
lea rdx, str.NULL_passed_to_CBC_decryptor
mov rcx, rsi
call qword [rax + 0x28]
xor al, al
jmp 0x1401e1a84
mov ecx, dword [rcx + 0xa8]
cmp ecx, 1
ja 0x1401e17dc
mov rax, qword [rbx]
mov rcx, rbx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r8
mov r8, rdi
call qword [rax + 0x38]
jmp 0x1401e1a84
xor edx, edx
mov eax, r12d
div ecx
test edx, edx
je 0x1401e1826
mov rax, qword [rsi]
lea rdx, str.CBC_decrypt_input_not_a_multiple_of_the_cipher_block_size.
mov rcx, rsi
call qword [rax + 0x28]
mov r8d, r12d
lea rdx, str.inputLen
mov rcx, rsi
call fcn.1400a1aa0
mov r8d, dword [rbx + 0xa8]
lea rdx, str.cipherBlockSize
mov rcx, rsi
call fcn.1400a1aa0
xor al, al
jmp 0x1401e1a84
movzx r13d, byte [0x14046da50]
xor edx, edx
mov eax, r12d
div ecx
mov rcx, r8
mov r14d, eax
call fcn.1400913e0
mov ebp, eax
add eax, r12d
mov r12, qword [rsp + 0x38]
mov rcx, r12
mov dword [rsp + 0x30], eax
lea edx, [rax + 0x20]
call fcn.140090bc0
test al, al
jne 0x1401e1874
mov rax, qword [rsi]
lea rdx, str.Unable_to_allocate_CBC_decrypt_output_buffer.
mov rcx, rsi
call qword [rax + 0x28]
xor al, al
jmp 0x1401e1a84
mov edx, ebp
mov rcx, r12
call fcn.140091080
mov rsi, rax
mov eax, dword [rbx + 0xa8]
test r13b, r13b
je 0x1401e197e
mov r8d, eax
lea rcx, [rsp + 0x48]
mov rdx, rdi
lea r12, [r15 + 8]
call sub.VCRUNTIME140.dll_memcpy
mov r9, qword [rbx]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
mov rcx, rbx
call qword [r9 + 0x28]
mov ecx, dword [rbx + 0xa8]
xor ebp, ebp
mov edx, ebp
test ecx, ecx
je 0x1401e18ea
nop word [rax + rax]
mov ecx, edx
inc edx
movzx eax, byte [rcx + r12]
xor al, byte [rsp + rcx + 0x58]
mov byte [rcx + rsi], al
mov ecx, dword [rbx + 0xa8]
cmp edx, ecx
jb 0x1401e18d0
mov eax, ecx
add rsi, rax
lea r15, [rax + rdi]
add r14d, 0xffffffff
je 0x1401e195a
nop dword [rax]
mov r8d, ecx
mov rdx, r15
lea rcx, [rsp + 0x48]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
mov rcx, rbx
call qword [rax + 0x28]
mov ecx, dword [rbx + 0xa8]
mov eax, ebp
test ecx, ecx
je 0x1401e1949
nop
mov edx, eax
inc eax
movzx ecx, byte [rdx + rdi]
xor cl, byte [rsp + rdx + 0x58]
mov byte [rdx + rsi], cl
mov ecx, dword [rbx + 0xa8]
cmp eax, ecx
jb 0x1401e1930
mov eax, ecx
mov rdi, r15
add r15, rax
add rsi, rax
add r14d, 0xffffffff
jne 0x1401e1900
test ecx, ecx
je 0x1401e1974
nop
movzx eax, byte [rbp + rdi]
mov byte [rbp + r12], al
inc ebp
cmp ebp, dword [rbx + 0xa8]
jb 0x1401e1960
mov rcx, qword [rsp + 0x38]
jmp 0x1401e1a79
cmp eax, 0x10
jne 0x1401e1a11
mov rax, qword [rbx]
lea r8, [rsp + 0x38]
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0x28]
mov rax, qword [rsp + 0x38]
lea rbp, [rdi + 0x10]
xor rax, qword [r15 + 8]
mov qword [rsi], rax
mov rax, qword [rsp + 0x40]
xor rax, qword [r15 + 0x10]
mov qword [rsi + 8], rax
add rsi, 0x10
add r14d, 0xffffffff
je 0x1401e1a00
nop
mov rax, qword [rbx]
lea r8, [rsp + 0x38]
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x28]
mov rax, qword [rsp + 0x38]
lea rsi, [rsi + 0x10]
xor rax, qword [rdi]
mov qword [rsi - 0x10], rax
mov rax, qword [rsp + 0x40]
xor rax, qword [rdi + 8]
mov rdi, rbp
add rbp, 0x10
mov qword [rsi - 8], rax
add r14d, 0xffffffff
jne 0x1401e19c0
nop dword [rax + rax]
mov rax, qword [rdi]
mov qword [r15 + 8], rax
mov rax, qword [rdi + 8]
mov qword [r15 + 0x10], rax
jmp 0x1401e1a76
cmp eax, 8
jne 0x1401e1a82
mov rax, qword [rbx]
lea r8, [rsp + 0x38]
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0x28]
mov rax, qword [rsp + 0x38]
lea rbp, [rdi + 8]
xor rax, qword [r15 + 8]
mov qword [rsi], rax
add rsi, 8
add r14d, 0xffffffff
je 0x1401e1a6f
mov rax, qword [rbx]
lea r8, [rsp + 0x38]
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x28]
mov rax, qword [rsp + 0x38]
lea rsi, [rsi + 8]
xor rax, qword [rdi]
mov rdi, rbp
add rbp, 8
mov qword [rsi - 8], rax
add r14d, 0xffffffff
jne 0x1401e1a41
mov rax, qword [rdi]
mov qword [r15 + 8], rax
mov rcx, r12
mov edx, dword [rsp + 0x30]
call fcn.140092f00
mov al, 1
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1401feb70
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret