Function at 0x14018ffa0
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 0x140190000
mov qword [rcx + 0x20], rsi
movups xmm0, xmmword [0x140486c70]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140486c80]
movups xmmword [rcx + 0x10], xmm1
call fcn.14018fc20
mov r14, qword [rsp + 0x68]
mov r8, r15
mov rcx, r14
mov rdx, rbp
call fcn.14018fd20
lea ebx, [rsi + 0x20]
mov rdi, qword [rsp + 0x60]
mov rdx, rsi
mov qword [rbp + 0x20], rsi
movups xmm0, xmmword [0x140486c70]
movups xmmword [rbp], xmm0
movdqa xmm0, xmmword [0x1404e2da0]
movups xmm1, xmmword [0x140486c80]
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 0x140190161
cmp rbx, 8
jb 0x140190134
lea rcx, [rdi - 1]
lea rax, [r14 - 1]
add rcx, rbx
add rax, rbx
cmp rdi, rax
ja 0x140190068
cmp rcx, r14
jae 0x140190134
cmp rbx, 0x40
jb 0x1401900f3
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 0x140190090
cmp rcx, 8
jb 0x14019012f
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 0x140190110
cmp rdx, rbx
jae 0x140190161
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 0x140190150
mov r9, r15
mov r8d, 0x40
mov rdx, rdi
mov rcx, rbp
call fcn.14018fc20
mov qword [rbp + 0x88], rsi
movups xmm0, xmmword [0x140486c70]
movups xmmword [rbp + 0x68], xmm0
movdqa xmm0, xmmword [0x1404d4010]
movups xmm1, xmmword [0x140486c80]
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 0x1401902b2
cmp rbx, 8
jb 0x140190296
lea rcx, [rdi - 1]
lea rax, [r14 - 1]
add rcx, rbx
add rax, rbx
cmp rdi, rax
ja 0x1401901d8
cmp rcx, r14
jae 0x140190296
cmp rbx, 0x40
jb 0x140190262
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 0x140190200
cmp rcx, 8
jb 0x140190291
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 0x140190273
cmp rsi, rbx
jae 0x1401902b2
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 0x1401902a0
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.14018fc20