Function at 0x835820
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbp, r8
call fcn.00834c10
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x835b1b
mov eax, dword [r8 + 0x110]
movdqu xmm0, xmmword [r8]
lea r15, [r8 + 0x10]
shl rax, 4
add rax, r8
movdqu xmm1, xmmword [rax]
lea r14, [rax - 0x10]
mov qword [rsp + 0x38], rax
movups xmmword [rbp], xmm1
movaps xmmword [rsp + 0x20], xmm1
movups xmmword [rax], xmm0
cmp r15, r14
jae 0x835a4c
mov r11, r14
mov r10, r15
mov eax, dword [r10]
mov edx, eax
ror edx, 8
xor eax, edx
mov ebx, eax
mov eax, dword [r10 + 4]
rol ebx, 0x10
mov r8d, eax
xor ebx, edx
mov edx, dword [r10 + 8]
ror r8d, 8
xor eax, r8d
mov ecx, edx
rol eax, 0x10
ror ecx, 8
xor r8d, eax
mov eax, edx
xor eax, ecx
rol eax, 0x10
xor eax, ecx
mov ecx, dword [r10 + 0xc]
mov edx, ecx
mov esi, ecx
ror edx, 8
xor esi, edx
rol esi, 0x10
xor esi, edx
mov edx, r8d
xor edx, eax
xor eax, esi
xor ebx, edx
xor esi, edx
xor eax, ebx
mov ecx, esi
xor edx, eax
mov r8d, ecx
rol eax, 0x10
mov esi, edx
shr edx, 8
shl esi, 8
and edx, 0xff00ff
shr r8d, 0x18
and esi, 0xff00ff00
or edx, esi
mov esi, ecx
shl esi, 0x18
xor esi, r8d
mov r8d, ecx
shl r8d, 8
and r8d, 0xff0000
shr ecx, 8
xor edx, eax
xor esi, r8d
and ecx, 0xff00
xor ebx, edx
xor esi, ecx
mov ecx, dword [r11]
xor eax, esi
mov r8d, ecx
mov edi, ecx
xor eax, ebx
ror r8d, 8
xor edi, r8d
rol edi, 0x10
xor edi, r8d
mov r8d, dword [r11 + 4]
mov r9d, r8d
mov ecx, r8d
mov r8d, dword [r11 + 8]
ror r9d, 8
xor ecx, r9d
mov r12d, r8d
rol ecx, 0x10
ror r12d, 8
xor ecx, r9d
mov r9d, r8d
xor r9d, r12d
rol r9d, 0x10
xor r9d, r12d
mov r12d, dword [r11 + 0xc]
xor ecx, r9d
mov r8d, r12d
xor edi, ecx
ror r8d, 8
xor r12d, r8d
rol r12d, 0x10
xor r8d, r12d
xor r9d, r8d
xor r8d, ecx
xor r9d, edi
mov r13d, r8d
xor ecx, r9d
mov r12d, ecx
shl r12d, 8
and r12d, 0xff00ff00
shr ecx, 8
add r10, 0x10
sub r11, 0x10
shl r13d, 0x18
and ecx, 0xff00ff
rol r9d, 0x10
or ecx, r12d
mov r12d, r8d
shr r12d, 0x18
xor ecx, r9d
xor r12d, r13d
mov r13d, r8d
shr r8d, 8
xor edi, ecx
shl r13d, 8
and r8d, 0xff00
mov dword [r10 - 0x10], edi
and r13d, 0xff0000
xor r12d, r13d
xor r8d, r12d
xor r9d, r8d
xor r8d, ecx
xor r9d, edi
mov edi, ecx
mov ecx, edx
xor edx, esi
xor edi, r9d
xor ecx, eax
mov dword [r10 - 8], r9d
mov dword [r10 - 0xc], edi
mov dword [r10 - 4], r8d
mov dword [r11 + 0x10], ebx
mov dword [r11 + 0x14], ecx
mov dword [r11 + 0x18], eax
mov dword [r11 + 0x1c], edx
cmp r10, r11
jb 0x835883
mov rax, qword [rsp + 0x38]
sub rax, rbp
sub rax, 0x21
shr rax, 5
add rax, 1
mov rdx, rax
shl rdx, 4
add r15, rdx
sub r14, rdx
mov eax, dword [r15]
mov edx, eax
ror edx, 8
xor eax, edx
mov r8d, eax
rol r8d, 0x10
xor r8d, edx
mov edx, dword [r15 + 4]
mov ecx, edx
mov eax, edx
ror ecx, 8
xor eax, ecx
rol eax, 0x10
xor eax, ecx
mov ecx, dword [r15 + 8]
mov r9d, ecx
mov edx, ecx
ror r9d, 8
xor edx, r9d
rol edx, 0x10
xor edx, r9d
mov r9d, dword [r15 + 0xc]
xor eax, edx
mov r10d, r9d
mov ecx, r9d
mov r9d, r8d
ror r10d, 8
xor r9d, eax
xor ecx, r10d
rol ecx, 0x10
xor ecx, r10d
xor edx, ecx
xor ecx, eax
xor edx, r9d
mov r10d, ecx
xor eax, edx
shr r10d, 0x18
mov r8d, eax
shr eax, 8
shl r8d, 8
and eax, 0xff00ff
rol edx, 0x10
and r8d, 0xff00ff00
or eax, r8d
mov r8d, ecx
shl r8d, 0x18
xor r8d, r10d
mov r10d, ecx
shl r10d, 8
and r10d, 0xff0000
shr ecx, 8
xor eax, edx
xor r8d, r10d
and ecx, 0xff00
xor r9d, eax
xor ecx, r8d
mov r8d, eax
mov dword [r14], r9d
xor edx, ecx
xor ecx, eax
xor edx, r9d
mov dword [r14 + 0xc], ecx
xor r8d, edx
mov dword [r14 + 8], edx
mov dword [r14 + 4], r8d
mov eax, dword [rsp + 0x34]
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret