Function at 0x140258b70
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 [0x1403dd7c0]
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 0x140258ea2
test rdi, rdi
jne 0x140258bd6
mov rax, qword [rsi]
lea rdx, str.NULL_passed_to_CBC_decryptor
mov rcx, rsi
call qword [rax + 0x28]
xor al, al
jmp 0x140258ea4
mov ecx, dword [rcx + 0xa8]
cmp ecx, 1
ja 0x140258bfc
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 0x140258ea4
xor edx, edx
mov eax, r12d
div ecx
test edx, edx
je 0x140258c46
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.1400f72e0
mov r8d, dword [rbx + 0xa8]
lea rdx, str.cipherBlockSize
mov rcx, rsi
call fcn.1400f72e0
xor al, al
jmp 0x140258ea4
movzx r13d, byte [0x140478580]
xor edx, edx
mov eax, r12d
div ecx
mov rcx, r8
mov r14d, eax
call fcn.1400e6840
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.1400e6020
test al, al
jne 0x140258c94
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 0x140258ea4
mov edx, ebp
mov rcx, r12
call fcn.1400e64e0
mov rsi, rax
mov eax, dword [rbx + 0xa8]
test r13b, r13b
je 0x140258d9e
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 0x140258d0a
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 0x140258cf0
mov eax, ecx
add rsi, rax
lea r15, [rax + rdi]
add r14d, 0xffffffff
je 0x140258d7a
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 0x140258d69
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 0x140258d50
mov eax, ecx
mov rdi, r15
add r15, rax
add rsi, rax
add r14d, 0xffffffff
jne 0x140258d20
test ecx, ecx
je 0x140258d94
nop
movzx eax, byte [rbp + rdi]
mov byte [rbp + r12], al
inc ebp
cmp ebp, dword [rbx + 0xa8]
jb 0x140258d80
mov rcx, qword [rsp + 0x38]
jmp 0x140258e99
cmp eax, 0x10
jne 0x140258e31
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 0x140258e20
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 0x140258de0
nop dword [rax + rax]
mov rax, qword [rdi]
mov qword [r15 + 8], rax
mov rax, qword [rdi + 8]
mov qword [r15 + 0x10], rax
jmp 0x140258e96
cmp eax, 8
jne 0x140258ea2
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 0x140258e8f
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 0x140258e61
mov rax, qword [rdi]
mov qword [r15 + 8], rax
mov rcx, r12
mov edx, dword [rsp + 0x30]
call fcn.1400e84f0
mov al, 1
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140278f40
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret