Function at 0x1400837a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0xf]
sub rsp, 0xd8
mov rax, qword [0x1400f9b40]
xor rax, rsp
mov qword [rbp - 0x19], rax
mov r13, qword [rbp + 0x7f]
mov rsi, rcx
mov rcx, qword [rcx]
mov rdi, r8
mov qword [rsp + 0x28], r9
mov rbx, rdx
call fcn.140072620
mov dword [rsp + 0x24], 0
mov r8, rdi
mov rdx, rbx
mov byte [rsp + 0x20], al
mov rcx, rsi
mov byte [rsp + 0x27], 1
movzx r14d, al
call fcn.140072890
mov edi, eax
test eax, eax
jne 0x140083a67
mov qword [rsp + 0xd0], r12
mov r12d, dword [rbp + 0x77]
test r12d, r12d
je 0x140083a40
mov qword [rsp + 0xc8], r15
mov r15d, dword [rbp + 0x6f]
nop dword [rax + rax]
mov r8, qword [rbp + 0x67]
mov rcx, rsi
mov rdx, qword [rsp + 0x28]
call fcn.140072a70
mov edi, eax
test eax, eax
jne 0x140083a38
lea r8d, [rax + 4]
mov rcx, rsi
lea rdx, [rsp + 0x24]
call fcn.140072a70
mov edi, eax
test eax, eax
jne 0x140083a38
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140072640
mov edi, eax
test eax, eax
jne 0x140083a38
mov rcx, rsi
call fcn.140072830
mov edi, eax
test eax, eax
jne 0x140083a38
movzx ebx, r14b
lea rdx, [rsp + 0x30]
mov r8d, ebx
lea rcx, [rbp - 0x59]
call sub.VCRUNTIME140.dll_memcpy
mov r14d, 1
cmp r15d, r14d
jbe 0x1400839ed
nop dword [rax]
nop word [rax + rax]
mov r8, rbx
lea rdx, [rbp - 0x59]
mov rcx, rsi
call fcn.140072a70
mov edi, eax
test eax, eax
jne 0x140083a38
lea rdx, [rbp - 0x59]
mov rcx, rsi
call fcn.140072640
mov edi, eax
test eax, eax
jne 0x140083a38
mov rcx, rsi
call fcn.140072830
mov edi, eax
test eax, eax
jne 0x140083a38
xor eax, eax
test rbx, rbx
je 0x1400839e1
cmp rbx, 8
jb 0x1400839d0
cmp rbx, 0x40
jb 0x140083993
mov rcx, rbx
mov rdx, rbx
and ecx, 0x3f
sub rdx, rcx
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm1, xmmword [rbp + rax - 0x59]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x30], xmm1
movdqu xmm0, xmmword [rsp + rax + 0x40]
movdqu xmm1, xmmword [rbp + rax - 0x49]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x40], xmm1
movdqu xmm0, xmmword [rbp + rax - 0x79]
movdqu xmm1, xmmword [rbp + rax - 0x39]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax - 0x79], xmm1
movdqu xmm0, xmmword [rbp + rax - 0x69]
movdqu xmm1, xmmword [rbp + rax - 0x29]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax - 0x69], xmm1
add rax, 0x40
cmp rax, rdx
jb 0x140083930
cmp rcx, 8
jb 0x1400839be
mov rcx, rbx
and rcx, 0xfffffffffffffff8
nop word [rax + rax]
movq xmm0, qword [rsp + rax + 0x30]
movq xmm1, qword [rbp + rax - 0x59]
xorps xmm1, xmm0
movq qword [rsp + rax + 0x30], xmm1
add rax, 8
cmp rax, rcx
jb 0x1400839a0
cmp rax, rbx
jae 0x1400839e1
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rbp + rax - 0x59]
xor byte [rsp + rax + 0x30], cl
inc rax
cmp rax, rbx
jb 0x1400839d0
inc r14d
cmp r14d, r15d
jb 0x1400838c0
movzx r14d, byte [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov eax, r12d
cmp r12d, r14d
mov rcx, r13
cmovae eax, r14d
mov r8d, eax
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
sub r12d, ebx
mov edx, 4
add r13, rbx
nop word [rax + rax]
lea eax, [rdx - 1]
add byte [rsp + rax + 0x24], 1
jne 0x140083a2f
add edx, 0xffffffff
jne 0x140083a20
test r12d, r12d
jne 0x140083830
mov r15, qword [rsp + 0xc8]
mov edx, 0x40
lea rcx, [rsp + 0x30]
call fcn.140071030
mov edx, 0x40
lea rcx, [rbp - 0x59]
call fcn.140071030
mov r12, qword [rsp + 0xd0]
mov eax, edi
mov rcx, qword [rbp - 0x19]
xor rcx, rsp
call fcn.14009a250
add rsp, 0xd8
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret