Function at 0x14003a1f0
Capabilities:
Hash data using fnv
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm7
movaps xmm6, xmm3
mov byte [rsp + 0xa0], r8b
not edx
mov ebx, edx
movzx r10d, byte [rcx]
lea r9, [rcx + 1]
test r10b, r10b
je 0x14003a260
lea r8, [0x140041800]
cmp r10b, 0x23
jne 0x14003a243
cmp byte [r9], r10b
jne 0x14003a243
cmp byte [r9 + 1], r10b
cmove ebx, edx
movzx ecx, bl
movzx eax, r10b
xor rcx, rax
shr ebx, 8
xor ebx, dword [r8 + rcx*4]
movzx r10d, byte [r9]
inc r9
test r10b, r10b
jne 0x14003a231
not ebx
mov r15d, ebx
shr r15d, 0x18
mov esi, ebx
shr esi, 0x18
mov r12d, ebx
shr r12d, 0x10
mov ebp, ebx
shr ebp, 0x10
mov r13d, ebx
shr r13d, 8
mov r14d, ebx
shr r14d, 8
movzx r10d, bl
mov edx, ebx
shr edx, 8
mov r8d, ebx
shr r8d, 0x10
mov r9d, ebx
shr r9d, 0x18
mov r11d, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
xor edi, edi
movss xmm7, dword [0x1400467dc]
mov eax, dword [r11 + rcx]
cmp dword [0x14007ef58], eax
jle 0x14003a3ad
lea rcx, [0x14007ef58]
call fcn.14003e4d8
movzx r10d, bl
movzx edx, r14b
movzx r8d, bpl
movzx r9d, sil
cmp dword [0x14007ef58], 0xffffffff
jne 0x14003a3ad
xorps xmm0, xmm0
movups xmmword [0x14007ef60], xmm0
movups xmmword [0x14007ef70], xmm0
movups xmmword [0x14007ef80], xmm0
movups xmmword [0x14007ef90], xmm0
movss dword [0x14007ef60], xmm0
mov qword [0x14007ef68], rdi
mov qword [0x14007ef70], rdi
lea ecx, [rdi + 0x18]
call fcn.14003e764
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x14007ef68], rax
mov qword [0x14007ef78], rdi
xorps xmm0, xmm0
movdqa xmmword [0x14007ef80], xmm0
mov qword [0x14007ef90], 7
mov qword [0x14007ef98], 8
mov dword [0x14007ef60], 0x3f800000
mov r8, rax
lea edx, [rdi + 0x10]
lea rcx, [0x14007ef78]
call fcn.14003a620
nop
lea rcx, [0x14003fdb0]
call fcn.14003eaa8
nop
lea rcx, [0x14007ef58]
call fcn.14003e478
movzx r10d, bl
movzx edx, r13b
movzx r8d, r12b
movzx r9d, r15b
movzx esi, r10b
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs rcx, 0x100000001b3
imul rsi, rcx
movzx eax, dl
xor rsi, rax
imul rsi, rcx
movzx eax, r8b
xor rsi, rax
imul rsi, rcx
movzx eax, r9b
xor rsi, rax
imul rsi, rcx
mov rax, rsi
and rax, qword [0x14007ef90]
add rax, rax
mov r8, qword [0x14007ef78]
mov rcx, qword [r8 + rax*8 + 8]
mov rdx, qword [0x14007ef68]
cmp rcx, rdx
je 0x14003a430
mov rax, qword [r8 + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x14003a433
nop word [rax + rax]
cmp rcx, rax
je 0x14003a430
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14003a420
jmp 0x14003a433
mov rcx, rdi
mov rax, rdx
test rcx, rcx
cmovne rax, rcx
cmp rax, rdx
jne 0x14003a4a8
mov dword [rsp + 0x90], ebx
movss dword [rsp + 0x94], xmm6
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x20]
call fcn.14003a760
and rsi, qword [0x14007ef90]
add rsi, rsi
mov rdx, qword [0x14007ef78]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x14007ef68]
cmp rcx, rax
je 0x14003a4a1
mov rdx, qword [rdx + rsi*8]
cmp ebx, dword [rcx + 0x10]
je 0x14003a49e
nop
cmp rcx, rdx
je 0x14003a4a1
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14003a490
mov rdi, rcx
test rdi, rdi
cmovne rax, rdi
mov rcx, qword [0x14007ee30]
subss xmm7, dword [rcx + 0x18]
mulss xmm7, dword [rsp + 0xb8]
cmp byte [rsp + 0xa0], 0
je 0x14003a4d0
movss xmm6, dword [rsp + 0xb0]
subss xmm6, dword [rax + 0x14]
mulss xmm6, xmm7
addss xmm6, dword [rax + 0x14]
movss dword [rax + 0x14], xmm6
movaps xmm0, xmm6
mov rbx, qword [rsp + 0x98]
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x30]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret