Function at 0x14028a340
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
call fcn.1402895c0
mov dword [rsp + 0x24], eax
test eax, eax
jne 0x14028a653
mov eax, dword [r8 + 0x110]
movdqu xmm0, xmmword [r8]
lea r14, [r8 + 0x10]
shl rax, 4
lea r15, [r8 + rax]
movdqu xmm2, xmmword [r15]
lea rax, [r15 - 0x10]
mov qword [rsp + 0x28], rax
movups xmmword [r8], xmm2
movups xmmword [r15], xmm0
cmp r14, rax
jae 0x14028a571
mov rbp, rax
mov rdi, r14
nop
mov r10d, dword [rdi]
mov esi, dword [rbp]
mov r12d, dword [rbp + 0xc]
mov eax, r10d
ror eax, 8
mov r13d, r12d
xor r10d, eax
rol r10d, 0x10
xor r10d, eax
mov eax, dword [rdi + 4]
mov ecx, eax
ror ecx, 8
xor eax, ecx
mov edx, eax
mov eax, dword [rdi + 8]
rol edx, 0x10
xor edx, ecx
mov ecx, eax
ror ecx, 8
xor eax, ecx
rol eax, 0x10
xor eax, ecx
mov ecx, dword [rdi + 0xc]
xor edx, eax
mov r9d, ecx
xor r10d, edx
ror r9d, 8
xor ecx, r9d
rol ecx, 0x10
xor ecx, r9d
xor eax, ecx
xor ecx, edx
xor eax, r10d
mov r11d, ecx
xor edx, eax
shl r11d, 0x18
mov ebx, edx
shr edx, 8
shl ebx, 8
and edx, 0xff00ff
rol eax, 0x10
and ebx, 0xff00ff00
or ebx, edx
mov edx, ecx
shr edx, 0x18
xor r11d, edx
mov edx, ecx
shl edx, 8
and edx, 0xff0000
shr ecx, 8
xor ebx, eax
xor r11d, edx
mov edx, esi
and ecx, 0xff00
ror r13d, 8
ror edx, 8
xor r11d, ecx
xor r12d, r13d
xor r10d, ebx
xor esi, edx
rol r12d, 0x10
xor eax, r11d
rol esi, 0x10
xor r12d, r13d
xor eax, r10d
xor esi, edx
mov edx, dword [rbp + 4]
mov ecx, edx
ror ecx, 8
xor edx, ecx
rol edx, 0x10
xor edx, ecx
mov ecx, dword [rbp + 8]
mov r9d, ecx
ror r9d, 8
xor ecx, r9d
rol ecx, 0x10
xor ecx, r9d
mov r9d, r12d
xor edx, ecx
xor ecx, r12d
xor esi, edx
xor r9d, edx
xor ecx, esi
mov r13d, r9d
xor edx, ecx
mov r12d, edx
shl r12d, 8
and r12d, 0xff00ff00
shr edx, 8
xor r11d, ebx
add rdi, 0x10
shr r13d, 0x18
rol ecx, 0x10
movd xmm4, r11d
sub rbp, 0x10
and edx, 0xff00ff
or edx, r12d
mov r12d, r9d
shl r12d, 0x18
xor edx, ecx
xor r12d, r13d
mov r13d, r9d
shr r9d, 8
xor esi, edx
shl r13d, 8
and r9d, 0xff00
movd xmm0, esi
and r13d, 0xff0000
xor r12d, r13d
xor r9d, r12d
mov r12d, edx
xor ecx, r9d
xor r9d, edx
mov edx, ebx
xor ecx, esi
movd xmm2, r9d
xor edx, eax
xor r12d, ecx
movd xmm1, ecx
movd xmm5, edx
movd xmm3, r12d
punpckldq xmm1, xmm2
punpckldq xmm0, xmm3
punpcklqdq xmm0, xmm1
movd xmm1, eax
movups xmmword [rdi - 0x10], xmm0
movd xmm0, r10d
punpckldq xmm1, xmm4
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movups xmmword [rbp + 0x10], xmm0
cmp rdi, rbp
jb 0x14028a3a0
mov rax, r15
sub rax, r8
sub rax, 0x21
shr rax, 5
add rax, 1
shl rax, 4
sub qword [rsp + 0x28], rax
add r14, rax
mov ecx, dword [r14]
mov edx, dword [r14 + 4]
mov eax, ecx
mov r8d, edx
ror eax, 8
ror r8d, 8
xor ecx, eax
rol ecx, 0x10
xor ecx, eax
mov eax, edx
mov edx, dword [r14 + 8]
xor eax, r8d
rol eax, 0x10
xor eax, r8d
mov r8d, edx
ror r8d, 8
xor edx, r8d
rol edx, 0x10
xor edx, r8d
mov r8d, dword [r14 + 0xc]
xor eax, edx
mov r9d, r8d
xor ecx, eax
ror r9d, 8
xor r8d, r9d
rol r8d, 0x10
xor r8d, r9d
xor edx, r8d
xor r8d, eax
xor edx, ecx
mov r10d, r8d
xor eax, edx
shr r10d, 0x18
mov r9d, eax
shr eax, 8
shl r9d, 8
and eax, 0xff00ff
rol edx, 0x10
and r9d, 0xff00ff00
or r9d, eax
mov eax, r8d
shl eax, 0x18
xor eax, r10d
mov r10d, r8d
shl r10d, 8
and r10d, 0xff0000
shr r8d, 8
and r8d, 0xff00
xor eax, r10d
xor eax, r8d
mov r8d, r9d
xor r8d, edx
xor edx, eax
xor ecx, r8d
mov r9d, r8d
xor eax, r8d
xor edx, ecx
movd xmm3, eax
movd xmm0, ecx
mov rax, qword [rsp + 0x28]
xor r9d, edx
movd xmm1, edx
movd xmm4, r9d
punpckldq xmm1, xmm3
punpckldq xmm0, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [rax], xmm0
mov eax, dword [rsp + 0x24]
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret