Function at 0x1400b4cf0
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 r15, r9
mov r13, r8
mov r10, rdx
mov r12, rcx
mov rcx, qword [r8]
mov r11, qword [r8 + 0x10]
test r11, r11
je 0x1400b4d61
lea rdx, [r11 - 1]
mov edi, r11d
and edi, 7
movabs rax, 0x100000001b3
cmp rdx, 7
jae 0x1400b4d70
movabs rbx, 0xcbf29ce484222325
mov rdx, rcx
jmp 0x1400b4df1
movabs rsi, 0xaf64724c8602eb6e
jmp 0x1400b4e22
mov rsi, r11
and rsi, 0xfffffffffffffff8
neg rsi
movabs rbx, 0xcbf29ce484222325
mov rdx, rcx
nop word [rax + rax]
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 0x1400b4d90
mov rsi, rbx
test rdi, rdi
je 0x1400b4e17
xor ebp, ebp
nop dword [rax + rax]
movzx esi, byte [rdx + rbp]
xor rsi, rbx
imul rsi, rax
add rbp, 1
mov rbx, rsi
cmp rdi, rbp
jne 0x1400b4e00
xor rsi, 0xff
imul rsi, rax
mov rax, rsi
shr rax, 0x39
mov rdi, qword [r10]
mov rbp, qword [r10 + 8]
mov r14, rdi
and r14, rsi
movdqu xmm7, xmmword [rbp + r14]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
movdqa xmm0, xmm6
pcmpeqb xmm0, xmm7
pmovmskb eax, xmm0
xor edx, edx
test ax, ax
je 0x1400b4f9c
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r12
lea edx, [rax - 1]
and edx, eax
mov qword [rsp + 0x38], rdx
bsf ax, ax
movzx eax, ax
add rax, r14
pcmpeqd xmm8, xmm8
mov qword [rsp + 0x30], rdi
and rax, rdi
neg rax
lea rbx, [rax + rax*8]
cmp r11, qword [rbp + rbx*8 - 0x38]
jne 0x1400b4ec1
mov rdx, qword [rbp + rbx*8 - 0x48]
mov r8, r11
mov rdi, rcx
mov r12, r11
call sub.VCRUNTIME140.dll_memcmp
mov r11, r12
mov rcx, rdi
test eax, eax
je 0x1400b4f39
mov rax, qword [rsp + 0x38]
test ax, ax
je 0x1400b4ee6
mov rdi, qword [rsp + 0x30]
lea edx, [rax - 1]
and edx, eax
bsf ax, ax
movzx eax, ax
add rax, r14
mov qword [rsp + 0x38], rdx
jmp 0x1400b4e93
mov r10, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x30]
pcmpeqb xmm7, xmm8
pmovmskb eax, xmm7
test ax, ax
mov r12, qword [rsp + 0x40]
mov rax, qword [rsp + 0x28]
jne 0x1400b4fd8
add r14, rax
add r14, 0x10
add rax, 0x10
mov qword [rsp + 0x28], rax
and r14, rdi
movdqu xmm7, xmmword [rbp + r14]
movdqa xmm0, xmm6
pcmpeqb xmm0, xmm7
pmovmskb eax, xmm0
test ax, ax
je 0x1400b4ef0
jmp 0x1400b4ed0
movups xmm0, xmmword [rbp + rbx*8 - 0x30]
movups xmm1, xmmword [rbp + rbx*8 - 0x20]
movups xmm2, xmmword [rbp + rbx*8 - 0x10]
mov r12, qword [rsp + 0x40]
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
movdqu xmm0, xmmword [r15]
movdqu xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmmword [rbp + rbx*8 - 0x10], xmm2
movdqu xmmword [rbp + rbx*8 - 0x20], xmm1
movdqu xmmword [rbp + rbx*8 - 0x30], xmm0
mov rdx, qword [r13 + 8]
test rdx, rdx
je 0x1400b5024
mov r8d, 1
call fcn.1400012f0
jmp 0x1400b5024
pcmpeqd xmm0, xmm0
pcmpeqb xmm7, xmm0
pmovmskb eax, xmm7
test ax, ax
jne 0x1400b4fd8
add r14, rdx
add r14, 0x10
add rdx, 0x10
and r14, rdi
movdqu xmm7, xmmword [rbp + r14]
movdqa xmm1, xmm6
pcmpeqb xmm1, xmm7
pmovmskb eax, xmm1
test ax, ax
je 0x1400b4fa0
jmp 0x1400b4e66
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm1
movups xmmword [rsp + 0x88], xmm2
lea r8, [rsp + 0x50]
mov rcx, r10
mov rdx, rsi
mov r9, r10
call fcn.1400e1a20
mov byte [r12 + 8], 4
mov rax, r12
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