Function at 0x14018c1e0
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 0x14018c240
mov qword [rcx + 0x20], rsi
movups xmm0, xmmword [0x14054aea0]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x14054aeb0]
movups xmmword [rcx + 0x10], xmm1
call fcn.14018be60
mov r14, qword [rsp + 0x68]
mov r8, r15
mov rcx, r14
mov rdx, rbp
call fcn.14018bf60
lea ebx, [rsi + 0x20]
mov rdi, qword [rsp + 0x60]
mov rdx, rsi
mov qword [rbp + 0x20], rsi
movups xmm0, xmmword [0x14054aea0]
movups xmmword [rbp], xmm0
movdqa xmm0, xmmword [0x1405a6f60]
movups xmm1, xmmword [0x14054aeb0]
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 0x14018c3a1
cmp rbx, 8
jb 0x14018c374
lea rcx, [rdi - 1]
lea rax, [r14 - 1]
add rcx, rbx
add rax, rbx
cmp rdi, rax
ja 0x14018c2a8
cmp rcx, r14
jae 0x14018c374
cmp rbx, 0x40
jb 0x14018c333
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 0x14018c2d0
cmp rcx, 8
jb 0x14018c36f
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 0x14018c350
cmp rdx, rbx
jae 0x14018c3a1
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 0x14018c390
mov r9, r15
mov r8d, 0x40
mov rdx, rdi
mov rcx, rbp
call fcn.14018be60
mov qword [rbp + 0x88], rsi
movups xmm0, xmmword [0x14054aea0]
movups xmmword [rbp + 0x68], xmm0
movdqa xmm0, xmmword [0x1405982c0]
movups xmm1, xmmword [0x14054aeb0]
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 0x14018c4f2
cmp rbx, 8
jb 0x14018c4d6
lea rcx, [rdi - 1]
lea rax, [r14 - 1]
add rcx, rbx
add rax, rbx
cmp rdi, rax
ja 0x14018c418
cmp rcx, r14
jae 0x14018c4d6
cmp rbx, 0x40
jb 0x14018c4a2
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 0x14018c440
cmp rcx, 8
jb 0x14018c4d1
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 0x14018c4b3
cmp rsi, rbx
jae 0x14018c4f2
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 0x14018c4e0
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.14018be60