Function at 0x140157a70
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.140156fe0
mov r11d, eax
test eax, eax
jne 0x140157d27
mov r14d, dword [r8 + 0x110]
movdqu xmm0, xmmword [r8]
lea r15, [r8 + 0x10]
shl r14, 4
add r14, r8
movdqu xmm2, xmmword [r14]
lea r13, [r14 - 0x10]
movups xmmword [r8], xmm2
movups xmmword [r14], xmm0
cmp r15, r13
jae 0x140157c6b
mov qword [rsp + 0x20], r15
mov r12, r13
mov rbp, r15
mov qword [rsp + 0x28], r13
nop dword [rax]
mov ecx, dword [rbp]
mov edx, dword [rbp + 4]
mov ebx, dword [rbp + 0xc]
mov edi, dword [r12 + 4]
mov eax, ecx
ror eax, 8
xor ecx, eax
rol ecx, 0x10
xor ecx, eax
mov eax, edx
ror eax, 8
xor edx, eax
rol edx, 0x10
xor edx, eax
mov eax, dword [rbp + 8]
mov r9d, eax
ror r9d, 8
xor eax, r9d
rol eax, 0x10
xor eax, r9d
mov r9d, ebx
ror r9d, 8
xor edx, eax
xor ebx, r9d
xor ecx, edx
rol ebx, 0x10
xor ebx, r9d
mov r9d, edx
xor eax, ebx
xor ebx, edx
xor eax, ecx
bswap ebx
xor r9d, eax
rol eax, 0x10
mov r13d, r9d
shr r9d, 8
shl r13d, 8
and r9d, 0xff00ff
and r13d, 0xff00ff00
or r13d, r9d
mov r9d, dword [r12]
xor r13d, eax
xor eax, ebx
xor ecx, r13d
mov edx, r9d
xor eax, ecx
ror edx, 8
xor r9d, edx
rol r9d, 0x10
xor r9d, edx
mov edx, edi
ror edx, 8
xor edi, edx
rol edi, 0x10
xor edi, edx
mov edx, dword [r12 + 8]
mov r10d, edx
ror r10d, 8
xor edx, r10d
rol edx, 0x10
xor edx, r10d
mov r10d, dword [r12 + 0xc]
xor edi, edx
mov esi, r10d
xor r9d, edi
ror esi, 8
xor r10d, esi
rol r10d, 0x10
xor r10d, esi
mov esi, edi
xor edx, r10d
xor r10d, edi
xor edx, r9d
bswap r10d
xor esi, edx
rol edx, 0x10
mov r15d, esi
shr esi, 8
shl r15d, 8
and esi, 0xff00ff
and r15d, 0xff00ff00
or esi, r15d
xor esi, edx
xor edx, r10d
xor r9d, esi
mov edi, esi
xor edx, r9d
movd xmm0, r9d
xor edi, edx
xor r10d, esi
movd xmm1, edx
mov edx, r13d
movd xmm2, r10d
movd xmm3, edi
xor edx, eax
xor r13d, ebx
punpckldq xmm1, xmm2
punpckldq xmm0, xmm3
movd xmm5, edx
add rbp, 0x10
punpcklqdq xmm0, xmm1
movd xmm4, r13d
movd xmm1, eax
sub r12, 0x10
movups xmmword [rbp - 0x10], xmm0
movd xmm0, ecx
punpckldq xmm1, xmm4
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movups xmmword [r12 + 0x10], xmm0
cmp rbp, r12
jb 0x140157ad8
sub r14, r8
mov r15, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
lea rax, [r14 - 0x21]
shr rax, 5
add rax, 1
shl rax, 4
add r15, rax
sub r13, rax
mov ecx, dword [r15]
mov r9d, dword [r15 + 0xc]
mov eax, ecx
ror eax, 8
xor ecx, eax
rol ecx, 0x10
xor ecx, eax
mov eax, dword [r15 + 4]
mov r8d, eax
ror r8d, 8
xor eax, r8d
mov edx, eax
mov eax, dword [r15 + 8]
rol edx, 0x10
xor edx, r8d
mov r8d, eax
ror r8d, 8
xor eax, r8d
rol eax, 0x10
xor eax, r8d
mov r8d, r9d
ror r8d, 8
xor edx, eax
xor r9d, r8d
xor ecx, edx
mov r10d, edx
rol r9d, 0x10
xor r9d, r8d
mov r8d, ecx
xor eax, r9d
xor r9d, edx
xor eax, ecx
bswap r9d
xor r10d, eax
rol eax, 0x10
mov ecx, r10d
shr r10d, 8
shl ecx, 8
and r10d, 0xff00ff
and ecx, 0xff00ff00
or ecx, r10d
xor ecx, eax
xor eax, r9d
mov edx, ecx
mov ecx, r8d
xor ecx, edx
mov r8d, edx
xor eax, ecx
movd xmm0, ecx
xor r8d, eax
xor edx, r9d
movd xmm1, eax
movd xmm3, edx
movd xmm4, r8d
punpckldq xmm1, xmm3
punpckldq xmm0, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [r13], xmm0
mov eax, r11d
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret