Function at 0x1400f6ed0
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 r14d, r14d
mov r15, r9
mov rbx, r8
mov rsi, rdx
mov rbp, rcx
cmp r8, 0x40
jbe 0x1400f6f32
mov qword [rcx + 0x20], r14
movups xmm0, xmmword [0x140356fe0]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140356ff0]
movups xmmword [rcx + 0x10], xmm1
call fcn.1400f6b50
mov rsi, qword [rsp + 0x68]
mov r8, r15
mov rcx, rsi
mov rdx, rbp
call fcn.1400f6c50
lea ebx, [r14 + 0x20]
mov rdi, qword [rsp + 0x60]
mov r9, r14
mov qword [rbp + 0x20], r14
movups xmm0, xmmword [0x140356fe0]
movups xmmword [rbp], xmm0
movdqa xmm0, xmmword [0x140364560]
movups xmm1, xmmword [0x140356ff0]
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 0x1400f7032
cmp rbx, 0x40
jb 0x1400f7011
lea rcx, [rdi - 1]
lea rax, [rsi - 1]
add rcx, rbx
add rax, rbx
cmp rdi, rax
ja 0x1400f6f96
cmp rcx, rsi
jae 0x1400f7011
mov rdx, rbx
and rdx, 0xffffffffffffffc0
mov rcx, rsi
lea rax, [rdi + 0x10]
sub rcx, rdi
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add r9, 0x40
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rcx + rax - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rcx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp r9, rdx
jb 0x1400f6fb0
cmp r9, rbx
jae 0x1400f7032
mov r8, rsi
lea rcx, [r9 + rdi]
sub r8, rdi
mov rdx, rbx
sub rdx, r9
movzx eax, byte [rcx + r8]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400f7021
mov r9, r15
mov r8d, 0x40
mov rdx, rdi
mov rcx, rbp
call fcn.1400f6b50
mov qword [rbp + 0x88], r14
movups xmm0, xmmword [0x140356fe0]
movups xmmword [rbp + 0x68], xmm0
movdqa xmm0, xmmword [0x14035aa50]
movups xmm1, xmmword [0x140356ff0]
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 0x1400f7142
cmp rbx, 0x40
jb 0x1400f7121
lea rcx, [rdi - 1]
lea rax, [rsi - 1]
add rcx, rbx
add rax, rbx
cmp rdi, rax
ja 0x1400f70a5
cmp rcx, rsi
jae 0x1400f7121
mov rdx, rbx
and rdx, 0xffffffffffffffc0
mov rcx, rsi
lea rax, [rdi + 0x10]
sub rcx, rdi
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add r14, 0x40
movdqu xmm1, xmmword [rax + rcx - 0x10]
movdqu xmm2, xmmword [rax + rcx]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rax + rcx - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rax + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp r14, rdx
jb 0x1400f70c0
cmp r14, rbx
jae 0x1400f7142
sub rsi, rdi
lea r9, [r14 + rdi]
sub rbx, r14
nop dword [rax + rax]
movzx eax, byte [rsi + r9]
xor byte [r9], al
lea r9, [r9 + 1]
sub rbx, 1
jne 0x1400f7130
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.1400f6b50