Function at 0x140045120
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
movss dword [rax + 0x20], xmm3
movss dword [rax + 0x18], xmm2
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x70
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmm8, xmm3
movaps xmm7, xmm2
movzx ebp, dl
mov rbx, rcx
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
xor edi, edi
movss xmm6, dword [0x14004f644]
mov eax, dword [rcx + rax]
cmp dword [0x140073604], eax
jle 0x140045244
lea rcx, [0x140073604]
call fcn.1400469a4
cmp dword [0x140073604], 0xffffffff
jne 0x140045244
xorps xmm0, xmm0
movups xmmword [0x140073580], xmm0
movups xmmword [0x140073590], xmm0
movups xmmword [0x1400735a0], xmm0
movups xmmword [0x1400735b0], xmm0
mov dword [0x140073580], edi
mov qword [0x140073588], rdi
mov qword [0x140073590], rdi
mov ecx, 0x20
call fcn.140046378
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140073588], rax
mov qword [0x140073598], rdi
xorps xmm0, xmm0
movdqa xmmword [0x1400735a0], xmm0
mov qword [0x1400735b0], 7
mov qword [0x1400735b8], 8
mov dword [0x140073580], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x140073598]
call fcn.140045800
nop
lea rcx, [0x1400487e0]
call fcn.1400468a8
nop
lea rcx, [0x140073604]
call fcn.140046938
movzx esi, bl
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs rcx, 0x100000001b3
imul rsi, rcx
movzx eax, byte [rsp + 0x91]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rsp + 0x92]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rsp + 0x93]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rsp + 0x94]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rsp + 0x95]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rsp + 0x96]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rsp + 0x97]
xor rsi, rax
imul rsi, rcx
mov rax, qword [0x1400735b0]
and rax, rsi
add rax, rax
mov r8, qword [0x140073598]
mov rcx, qword [r8 + rax*8 + 8]
mov rdx, qword [0x140073588]
cmp rcx, rdx
je 0x140045311
mov rax, qword [r8 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x140045314
nop word [rax + rax]
cmp rcx, rax
je 0x140045311
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140045300
jmp 0x140045314
mov rcx, rdi
mov rax, rdx
test rcx, rcx
cmovne rax, rcx
cmp rax, rdx
jne 0x140045389
mov qword [rsp + 0x20], rbx
movss dword [rsp + 0x28], xmm7
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
call fcn.140045940
and rsi, qword [0x1400735b0]
add rsi, rsi
mov rdx, qword [0x140073598]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x140073588]
cmp rcx, rax
je 0x140045382
mov rdx, qword [rdx + rsi*8]
cmp rbx, qword [rcx + 0x10]
je 0x14004537f
nop dword [rax]
cmp rcx, rdx
je 0x140045382
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140045370
mov rdi, rcx
test rdi, rdi
cmovne rax, rdi
mov rcx, qword [0x1400732a8]
subss xmm6, dword [rcx + 0x18]
mulss xmm6, dword [rsp + 0xb0]
lea rdx, [rax + 0x18]
movss xmm0, dword [rdx]
test bpl, bpl
je 0x1400453b7
comiss xmm8, xmm0
jbe 0x1400453c4
addss xmm0, xmm6
jmp 0x1400453c0
comiss xmm0, xmm7
jbe 0x1400453c4
subss xmm0, xmm6
movss dword [rdx], xmm0
lea rcx, [rsp + 0xa0]
comiss xmm7, xmm0
cmovbe rcx, rdx
lea rax, [rsp + 0xa8]
comiss xmm0, xmm8
cmovbe rax, rcx
movss xmm0, dword [rax]
movss dword [rdx], xmm0
mov rbx, qword [rsp + 0x98]
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x40]
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret