Function at 0x14003c784
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
movaps xmm0, xmmword [rdx]
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rbp - 0x58], xmm1
movaps xmm1, xmmword [rdx + 0x30]
mov esi, dword [rbp - 0x4c]
mov r12d, dword [rbp - 0x50]
mov r15d, dword [rbp - 0x54]
movaps xmmword [rbp - 0x38], xmm1
mov r11d, dword [rbp - 0x2c]
mov r10d, dword [rbp - 0x30]
mov ebx, dword [rbp - 0x34]
mov edi, dword [rbp - 0x38]
movaps xmmword [rbp - 0x68], xmm0
movaps xmm0, xmmword [rdx + 0x20]
mov edx, dword [rbp - 0x58]
movaps xmmword [rbp - 0x48], xmm0
mov r13d, dword [rbp - 0x44]
mov r14d, dword [rbp - 0x48]
mov qword [rbp - 0x10], 0xa
mov r8d, dword [rbp - 0x68]
add r8d, edx
mov eax, r8d
xor eax, edi
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
lea r9d, [rcx + r14]
mov eax, r9d
xor eax, edx
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea r14d, [rdx + r8]
mov r8d, dword [rbp - 0x64]
add r8d, r15d
mov eax, r14d
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [rbp + 0x58], ecx
lea eax, [rcx + r9]
mov dword [rbp - 0x28], eax
xor eax, edx
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, r8d
xor eax, ebx
mov dword [rbp - 0x24], ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
lea r9d, [rcx + r13]
mov eax, r9d
xor eax, r15d
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea r15d, [rdx + r8]
mov r8d, dword [rbp - 0x60]
add r8d, r12d
mov eax, r15d
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [rbp + 0x60], ecx
lea eax, [rcx + r9]
mov r9d, dword [rbp - 0x40]
mov dword [rbp - 0x1c], eax
xor eax, edx
mov ebx, eax
shl eax, 7
shr ebx, 0x19
or ebx, eax
mov eax, r8d
xor eax, r10d
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
add r9d, ecx
mov eax, r9d
xor eax, r12d
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea r12d, [rdx + r8]
mov eax, r12d
xor eax, ecx
mov ecx, eax
mov r8d, dword [rbp - 0x5c]
shl eax, 8
add r8d, esi
shr ecx, 0x18
xor r11d, r8d
or ecx, eax
mov dword [rbp - 0x20], ecx
lea r10d, [rcx + r9]
mov r9d, dword [rbp - 0x3c]
mov ecx, r11d
mov eax, r10d
xor eax, edx
shr ecx, 0x10
mov edi, eax
shl r11d, 0x10
shl eax, 7
or ecx, r11d
add r9d, ecx
shr edi, 0x19
or edi, eax
mov eax, r9d
xor eax, esi
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea r13d, [rdx + r8]
mov eax, r13d
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
lea r11d, [rcx + r9]
mov eax, r11d
xor eax, edx
lea edx, [rbx + r14]
mov esi, eax
shl eax, 7
shr esi, 0x19
or esi, eax
mov eax, edx
xor eax, ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
lea r8d, [rcx + r10]
mov eax, r8d
xor eax, ebx
mov r9d, eax
shl eax, 0xc
shr r9d, 0x14
or r9d, eax
lea eax, [r9 + rdx]
mov dword [rbp - 0x68], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [rbp - 0x18], ecx
mov dword [rbp - 0x2c], ecx
lea eax, [rcx + r8]
mov dword [rbp - 0x40], eax
lea ecx, [rdi + r15]
xor eax, r9d
ror eax, 0x19
mov dword [rbp - 0x14], eax
mov dword [rbp - 0x54], eax
mov eax, ecx
xor eax, dword [rbp + 0x58]
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
lea r8d, [rdx + r11]
mov eax, r8d
xor eax, edi
mov r9d, eax
shr r9d, 0x14
mov r11d, dword [rbp - 0x18]
mov r15d, dword [rbp - 0x14]
shl eax, 0xc
or r9d, eax
lea eax, [rcx + r9]
mov dword [rbp - 0x64], eax
lea ecx, [rsi + r12]
xor eax, edx
mov edi, eax
shl eax, 8
shr edi, 0x18
or edi, eax
lea eax, [rdi + r8]
mov r8d, dword [rbp - 0x28]
mov dword [rbp - 0x3c], eax
xor eax, r9d
ror eax, 0x19
mov dword [rbp + 0x58], eax
mov r12d, dword [rbp + 0x58]
mov dword [rbp - 0x50], eax
mov eax, ecx
xor eax, dword [rbp + 0x60]
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
add r8d, edx
mov eax, r8d
xor eax, esi
mov r9d, eax
shl eax, 0xc
shr r9d, 0x14
or r9d, eax
lea eax, [rcx + r9]
mov dword [rbp - 0x60], eax
xor eax, edx
mov ebx, eax
shl eax, 8
shr ebx, 0x18
or ebx, eax
lea r14d, [rbx + r8]
mov r8d, dword [rbp - 0x1c]
mov esi, r14d
xor esi, r9d
mov r9d, dword [rbp - 0x24]
ror esi, 0x19
lea ecx, [r9 + r13]
mov eax, ecx
xor eax, dword [rbp - 0x20]
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
add r8d, edx
mov eax, r8d
xor eax, r9d
mov r9d, eax
shl eax, 0xc
shr r9d, 0x14
or r9d, eax
lea eax, [rcx + r9]
mov dword [rbp - 0x5c], eax
xor eax, edx
mov r10d, eax
shl eax, 8
shr r10d, 0x18
or r10d, eax
lea r13d, [r10 + r8]
mov edx, r13d
xor edx, r9d
ror edx, 0x19
sub qword [rbp - 0x10], 1
jne 0x14003c7ec
mov r8, qword [rbp + 0x48]
xor ecx, ecx
mov dword [rbp - 0x58], edx
mov rdx, qword [rbp + 0x50]
mov dword [rbp - 0x30], r10d
mov dword [rbp - 0x34], ebx
mov dword [rbp - 0x38], edi
mov dword [rbp - 0x4c], esi
mov dword [rbp - 0x44], r13d
mov dword [rbp - 0x48], r14d
mov eax, dword [rbp + rcx*4 - 0x68]
add eax, dword [rdx + rcx*4]
mov dword [r8 + rcx*4], eax
inc rcx
cmp rcx, 0x10
jl 0x14003caba
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret