Function at 0x1400b3ef0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movdqa xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm6
mov r12, r8
mov r10, rdx
mov rdi, rcx
mov r8, qword [r8]
mov r14, qword [r12 + 0x10]
test r14, r14
je 0x1400b3f5f
lea rdx, [r14 - 1]
mov ecx, r14d
and ecx, 7
movabs rax, 0x100000001b3
cmp rdx, 7
jae 0x1400b3f6e
movabs rbx, 0xcbf29ce484222325
mov rdx, r8
jmp 0x1400b3ff1
movabs rbp, 0xaf64724c8602eb6e
jmp 0x1400b4022
mov rsi, r14
and rsi, 0xfffffffffffffff8
neg rsi
movabs rbx, 0xcbf29ce484222325
mov rdx, r8
nop word cs:[rax + rax]
nop
movzx ebp, byte [rdx]
xor rbp, rbx
imul rbp, rax
movzx ebx, byte [rdx + 1]
xor rbx, rbp
imul rbx, rax
movzx ebp, byte [rdx + 2]
xor rbp, rbx
imul rbp, rax
movzx ebx, byte [rdx + 3]
xor rbx, rbp
imul rbx, rax
movzx ebp, byte [rdx + 4]
xor rbp, rbx
imul rbp, rax
movzx ebx, byte [rdx + 5]
xor rbx, rbp
imul rbx, rax
movzx ebp, byte [rdx + 6]
xor rbp, rbx
imul rbp, rax
movzx ebx, byte [rdx + 7]
add rdx, 8
xor rbx, rbp
imul rbx, rax
add rsi, 8
jne 0x1400b3f90
mov rbp, rbx
test rcx, rcx
je 0x1400b4017
xor esi, esi
nop dword [rax + rax]
movzx ebp, byte [rdx + rsi]
xor rbp, rbx
imul rbp, rax
add rsi, 1
mov rbx, rbp
cmp rcx, rsi
jne 0x1400b4000
xor rbp, 0xff
imul rbp, rax
movzx edx, byte [r12 + 0x18]
xor rbp, rdx
movabs rbx, 0x1efac7090aef4a21
imul rbx, rbp
mov rax, rbx
shr rax, 0x39
mov rsi, qword [r10]
mov rbp, qword [r10 + 8]
mov r15, rsi
and r15, rbx
movdqu xmm7, xmmword [rbp + r15]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
movdqa xmm0, xmm6
pcmpeqb xmm0, xmm7
pmovmskb eax, xmm0
xor ecx, ecx
test ax, ax
je 0x1400b41c9
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdi
lea r13d, [rax - 1]
and r13d, eax
bsf ax, ax
movzx eax, ax
add rax, r15
pcmpeqd xmm8, xmm8
mov qword [rsp + 0x28], rsi
and rax, rsi
neg rax
lea rsi, [rax + rax*4]
shl rsi, 4
cmp r14, qword [rbp + rsi - 0x40]
jne 0x1400b40e8
mov rdi, rdx
mov rdx, qword [rbp + rsi - 0x50]
mov rcx, qword [rsp + 0x40]
mov r8, r14
call sub.VCRUNTIME140.dll_memcmp
mov rdx, rdi
test eax, eax
jne 0x1400b40e8
cmp dl, byte [rbp + rsi - 0x38]
je 0x1400b4164
test r13w, r13w
je 0x1400b410a
mov rsi, qword [rsp + 0x28]
lea ecx, [r13 - 1]
and ecx, r13d
bsf ax, r13w
movzx eax, ax
add rax, r15
mov r13d, ecx
jmp 0x1400b40b1
mov rsi, qword [rsp + 0x28]
pcmpeqb xmm7, xmm8
pmovmskb eax, xmm7
test ax, ax
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x20]
jne 0x1400b4205
add r15, rax
add r15, 0x10
add rax, 0x10
mov qword [rsp + 0x20], rax
and r15, rsi
movdqu xmm7, xmmword [rbp + r15]
movdqa xmm0, xmm6
pcmpeqb xmm0, xmm7
pmovmskb r13d, xmm0
test r13w, r13w
je 0x1400b410f
jmp 0x1400b40f3
movups xmm0, xmmword [rbp + rsi - 0x30]
movups xmm1, xmmword [rbp + rsi - 0x20]
movups xmm2, xmmword [rbp + rsi - 0x10]
mov rdi, qword [rsp + 0x38]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rax, qword [rsp + 0x30]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rbp + rsi - 0x10], xmm2
movdqu xmmword [rbp + rsi - 0x20], xmm1
movdqu xmmword [rbp + rsi - 0x30], xmm0
mov rdx, qword [r12 + 8]
test rdx, rdx
je 0x1400b4257
mov r8d, 1
mov rcx, qword [rsp + 0x40]
call fcn.1400012f0
jmp 0x1400b4257
pcmpeqd xmm0, xmm0
pcmpeqb xmm7, xmm0
pmovmskb eax, xmm7
test ax, ax
jne 0x1400b4205
add r15, rcx
add r15, 0x10
add rcx, 0x10
and r15, rsi
movdqu xmm7, xmmword [rbp + r15]
movdqa xmm1, xmm6
pcmpeqb xmm1, xmm7
pmovmskb eax, xmm1
test ax, ax
je 0x1400b41cd
jmp 0x1400b407d
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x90], xmm2
lea r8, [rsp + 0x50]
mov rcx, r10
mov rdx, rbx
mov r9, r10
call fcn.1400e20a0
mov qword [rdi], 2
mov rax, rdi
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret