Function at 0x18007aea0
Capabilities:
Hash data using fnv

Disassembly:
push r14
sub rsp, 0x30
mov rdx, qword [rcx]
mov r8, rcx
mov r9, qword [rcx + 0x18]
mov rcx, rdx
lea rax, [rdx + 1]
add rax, r9
cmp rdx, rax
je 0x18007af01
movdqa xmm3, xmmword [0x180143d80]
xorps xmm2, xmm2
movdqa xmm4, xmmword [0x180143d90]
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
movdqa xmm1, xmm2
pcmpgtb xmm1, xmm0
pandn xmm1, xmm3
por xmm1, xmm4
movdqu xmmword [rcx], xmm1
add rcx, 0x10
cmp rcx, rax
jne 0x18007aee0
movups xmm0, xmmword [rdx]
xor r14d, r14d
mov r11d, r14d
movups xmmword [rax], xmm0
mov byte [r9 + rdx], 0xff
mov r9, qword [r8 + 0x18]
test r9, r9
je 0x18007b11a
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x28], rdi
lea rdi, [r14 - 0x10]
mov qword [rsp + 0x20], r12
movabs r12, 0xde5fb9d2630458e9
mov qword [rsp + 0x18], r13
movabs r13, 0xcbf29ce484222325
mov qword [rsp + 0x10], r15
movabs r15, 0x100000001b3
mov qword [rsp + 0x50], rbp
mov rbx, qword [r8]
cmp byte [rbx + r11], 0xfe
lea rsi, [rbx + r11]
jne 0x18007b0e4
mov rax, qword [r8 + 8]
movzx edx, byte [rax + r11*4]
lea rcx, [rax + r11*4]
movzx eax, byte [rax + r11*4 + 1]
xor rdx, r13
movdqa xmm2, xmmword [0x180139870]
imul rdx, r15
movdqa xmm1, xmm2
xor rdx, rax
movzx eax, byte [rcx + 2]
imul rdx, r15
xor rdx, rax
movzx eax, byte [rcx + 3]
imul rdx, r15
xor rdx, rax
mov rax, r12
imul rdx, r15
mul rdx
lea r10, [rax + rdx]
mov rdx, r14
mov rbp, r10
shr rbp, 7
and rbp, r9
mov rcx, rbp
movdqu xmm0, xmmword [rbx + rbp]
pcmpgtb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x18007b00f
nop dword [rax]
nop dword [rax + rax]
add rdx, 0x10
movdqa xmm1, xmm2
add rcx, rdx
and rcx, r9
movdqu xmm0, xmmword [rbx + rcx]
pcmpgtb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
je 0x18007aff0
bsf edx, eax
mov rax, r11
and r10b, 0x7f
movsxd rdx, edx
sub rax, rbp
add rdx, rcx
and rdx, r9
mov rcx, rdx
sub rcx, rbp
xor rcx, rax
and rcx, r9
test rcx, 0xfffffffffffffff0
jne 0x18007b05a
mov byte [rsi], r10b
mov rcx, rdi
mov rax, qword [r8 + 0x18]
and rcx, rax
and eax, 0xf
add rcx, rax
mov rax, qword [r8]
mov byte [rcx + rax + 1], r10b
jmp 0x18007b0e4
cmp byte [rbx + rdx], 0x80
lea rcx, [rdx - 0x10]
mov byte [rbx + rdx], r10b
lea r9, [rdx*4]
mov rax, qword [r8 + 0x18]
jne 0x18007b0b3
and rcx, rax
and eax, 0xf
add rcx, rax
mov rax, qword [r8]
mov byte [rcx + rax + 1], r10b
mov rcx, qword [r8 + 8]
mov eax, dword [rcx + r11*4]
mov dword [r9 + rcx], eax
mov rax, qword [r8]
mov byte [r11 + rax], 0x80
mov rax, qword [r8 + 0x18]
mov rcx, rax
and eax, 0xf
and rcx, rdi
add rcx, rax
mov rax, qword [r8]
mov byte [rcx + rax + 1], 0x80
jmp 0x18007b0e4
and rcx, rax
and eax, 0xf
add rcx, rax
mov rax, qword [r8]
mov byte [rcx + rax + 1], r10b
mov rcx, qword [r8 + 8]
mov eax, dword [rcx + r11*4]
lea rdx, [rcx + r11*4]
dec r11
dec rdi
mov ecx, dword [r9 + rcx]
mov dword [rdx], ecx
mov rcx, qword [r8 + 8]
mov dword [r9 + rcx], eax
mov r9, qword [r8 + 0x18]
inc r11
inc rdi
cmp r11, r9
jne 0x18007af64
mov r15, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rax, r9
shr rax, 3
sub r9, rax
sub r9, qword [r8 + 0x10]
mov qword [r8 + 0x28], r9
add rsp, 0x30
pop r14
ret