Function at 0x14018a560
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
xor esi, esi
mov r15, r9
mov rbx, r8
mov r14, rdx
mov rbp, rcx
cmp r8, 0x40
jbe 0x14018a5c0
mov qword [rcx + 0x20], rsi
movups xmm0, xmmword [0x140480880]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140480890]
movups xmmword [rcx + 0x10], xmm1
call fcn.14018a1e0
mov r14, qword [rsp + 0x68]
mov r8, r15
mov rcx, r14
mov rdx, rbp
call fcn.14018a2e0
lea ebx, [rsi + 0x20]
mov rdi, qword [rsp + 0x60]
mov rdx, rsi
mov qword [rbp + 0x20], rsi
movups xmm0, xmmword [0x140480880]
movups xmmword [rbp], xmm0
movdqa xmm0, xmmword [0x1404dd580]
movups xmm1, xmmword [0x140480890]
movups xmmword [rbp + 0x10], xmm1
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
test rbx, rbx
je 0x14018a721
cmp rbx, 8
jb 0x14018a6f4
lea rcx, [rdi - 1]
lea rax, [r14 - 1]
add rcx, rbx
add rax, rbx
cmp rdi, rax
ja 0x14018a628
cmp rcx, r14
jae 0x14018a6f4
cmp rbx, 0x40
jb 0x14018a6b3
mov rcx, rbx
mov r8, rbx
and ecx, 0x3f
sub r8, rcx
mov r9, r14
lea rax, [rdi + 0x10]
sub r9, rdi
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add rdx, 0x40
movdqu xmm1, xmmword [r9 + rax - 0x10]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r9 + rax - 0x40]
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm2, xmmword [rax - 0x40]
movdqu xmm1, xmmword [r9 + rax - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [r9 + rax - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rdx, r8
jb 0x14018a650
cmp rcx, 8
jb 0x14018a6ef
mov rcx, rbx
and rcx, 0xfffffffffffffff8
mov r8, r14
lea rax, [rdx + rdi]
sub r8, rdi
nop dword [rax]
nop dword [rax + rax]
movq xmm0, qword [rax]
add rdx, 8
movq xmm1, qword [rax + r8]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rax - 8], xmm1
cmp rdx, rcx
jb 0x14018a6d0
cmp rdx, rbx
jae 0x14018a721
mov r9, r14
lea rcx, [rdx + rdi]
sub r9, rdi
mov r8, rbx
sub r8, rdx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + r9]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x14018a710
mov r9, r15
mov r8d, 0x40
mov rdx, rdi
mov rcx, rbp
call fcn.14018a1e0
mov qword [rbp + 0x88], rsi
movups xmm0, xmmword [0x140480880]
movups xmmword [rbp + 0x68], xmm0
movdqa xmm0, xmmword [0x1404cdb80]
movups xmm1, xmmword [0x140480890]
movups xmmword [rbp + 0x78], xmm1
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
test rbx, rbx
je 0x14018a872
cmp rbx, 8
jb 0x14018a856
lea rcx, [rdi - 1]
lea rax, [r14 - 1]
add rcx, rbx
add rax, rbx
cmp rdi, rax
ja 0x14018a798
cmp rcx, r14
jae 0x14018a856
cmp rbx, 0x40
jb 0x14018a822
mov rcx, rbx
mov rdx, rbx
and ecx, 0x3f
sub rdx, rcx
mov r8, r14
lea rax, [rdi + 0x10]
sub r8, rdi
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add rsi, 0x40
movdqu xmm1, xmmword [rax + r8 - 0x10]
movdqu xmm2, xmmword [rax + r8]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rax + r8 - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rax + r8 - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rsi, rdx
jb 0x14018a7c0
cmp rcx, 8
jb 0x14018a851
mov rcx, rbx
and rcx, 0xfffffffffffffff8
mov rdx, r14
lea rax, [rsi + rdi]
sub rdx, rdi
movq xmm0, qword [rax]
add rsi, 8
movq xmm1, qword [rdx + rax]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rax - 8], xmm1
cmp rsi, rcx
jb 0x14018a833
cmp rsi, rbx
jae 0x14018a872
sub r14, rdi
lea r9, [rsi + rdi]
sub rbx, rsi
movzx eax, byte [r14 + r9]
xor byte [r9], al
lea r9, [r9 + 1]
sub rbx, 1
jne 0x14018a860
mov r9, r15
lea rcx, [rbp + 0x68]
mov r8d, 0x40
mov rdx, rdi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
jmp fcn.14018a1e0