Function at 0x1400019d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
mov rax, qword [0x14000a040]
xor rax, rsp
mov qword [rbp - 1], rax
mov r15, r9
mov qword [rbp - 0x61], r9
mov r14, r8
mov qword [rbp - 0x69], r8
mov rsi, rdx
mov qword [rbp - 0x71], rdx
mov rbx, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x19], r8
mov qword [rbp - 0x11], r9
mov r12, qword [rbp + 0x7f]
mov qword [rsp + 0x50], r12
mov qword [rbp - 9], r12
mov rdi, qword [r8]
mov qword [rbp - 0x79], rdi
mov r13, qword [r8 + 8]
sub r13, rdi
mov rax, qword [r12]
mov qword [rsp + 0x20], rax
mov rax, qword [r9]
mov qword [rsp + 0x38], rax
test r13b, 0xf
jne 0x140001ce4
mov ecx, r13d
call fcn.140004134
mov qword [rsp + 0x40], rax
mov ecx, dword [rbx + 4]
inc ecx
shl ecx, 4
call fcn.140004134
mov qword [rsp + 0x48], rax
mov r8, rax
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.140001800
mov rax, qword [rsp + 0x20]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
xor ebx, ebx
test r13d, r13d
je 0x140001b74
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
mov esi, ebx
nop
mov eax, esi
lea rbx, [rax + r15]
add rdi, rax
mov r9, r14
mov r8, rbx
mov rdx, rdi
mov rcx, r12
call fcn.1400013f0
movzx eax, byte [rsp + 0x20]
xor byte [rbx], al
movzx eax, byte [rsp + 0x21]
xor byte [rbx + 1], al
movzx eax, byte [rsp + 0x22]
xor byte [rbx + 2], al
movzx eax, byte [rsp + 0x23]
xor byte [rbx + 3], al
movzx eax, byte [rsp + 0x24]
xor byte [rbx + 4], al
movzx eax, byte [rsp + 0x25]
xor byte [rbx + 5], al
movzx eax, byte [rsp + 0x26]
xor byte [rbx + 6], al
movzx eax, byte [rsp + 0x27]
xor byte [rbx + 7], al
movzx eax, byte [rsp + 0x28]
xor byte [rbx + 8], al
movzx eax, byte [rsp + 0x29]
xor byte [rbx + 9], al
movzx eax, byte [rsp + 0x2a]
xor byte [rbx + 0xa], al
movzx eax, byte [rsp + 0x2b]
xor byte [rbx + 0xb], al
movzx eax, byte [rsp + 0x2c]
xor byte [rbx + 0xc], al
movzx eax, byte [rsp + 0x2d]
xor byte [rbx + 0xd], al
movzx eax, byte [rsp + 0x2e]
xor byte [rbx + 0xe], al
movzx eax, byte [rsp + 0x2f]
xor byte [rbx + 0xf], al
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x20], xmm0
add esi, 0x10
cmp esi, r13d
mov rdi, qword [rbp - 0x79]
jb 0x140001ab0
mov rsi, qword [rbp - 0x71]
mov r14, qword [rbp - 0x69]
mov r15, qword [rbp - 0x61]
mov r12, qword [rsp + 0x50]
xor ebx, ebx
mov rcx, qword [rsp + 0x48]
call fcn.1400040f0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov rax, qword [r14 + 8]
sub rax, qword [r14]
movups xmmword [rsi], xmm0
mov edi, eax
mov qword [rsi], rbx
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rbx
test eax, eax
je 0x140001bd1
mov edx, edi
mov rcx, rsi
call fcn.140002220
mov rbx, qword [rsi]
mov r8d, edi
mov r13, qword [rsp + 0x40]
mov rdx, r13
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsi + 8], rax
xor ebx, ebx
jmp 0x140001bd6
mov r13, qword [rsp + 0x40]
mov rcx, r13
call fcn.1400040f0
nop
mov rcx, qword [r14]
test rcx, rcx
je 0x140001c23
mov rdx, qword [r14 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140001c13
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140001ccf
mov rcx, r8
call fcn.1400040f0
mov qword [r14], rbx
mov qword [r14 + 8], rbx
mov qword [r14 + 0x10], rbx
mov rcx, qword [r15]
test rcx, rcx
je 0x140001c67
mov rdx, qword [r15 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140001c57
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140001cd6
mov rcx, r8
call fcn.1400040f0
mov qword [r15], rbx
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], rbx
mov rcx, qword [r12]
test rcx, rcx
je 0x140001cac
mov rdx, qword [r12 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140001c99
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140001cdd
mov rcx, r8
call fcn.1400040f0
mov qword [r12], rbx
mov qword [r12 + 8], rbx
mov qword [r12 + 0x10], rbx
mov rax, rsi
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.1400040d0
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rbp - 0x59]
call fcn.1400012f0
nop
mov r8, rax
lea rdx, str.Plaintext_length_must_be_divisible_by
lea rcx, [rbp - 0x39]
call fcn.140001e10
nop
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140001280
lea rdx, [0x140008e90]
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3