Function at 0x140045d10
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 [0x1400504b4]
mov eax, dword [rcx + rax]
cmp dword [0x1400733f4], eax
jle 0x140045e30
lea rcx, [0x1400733f4]
call fcn.140047484
cmp dword [0x1400733f4], 0xffffffff
jne 0x140045e30
xorps xmm0, xmm0
movups xmmword [0x140073370], xmm0
movups xmmword [0x140073380], xmm0
movups xmmword [0x140073390], xmm0
movups xmmword [0x1400733a0], xmm0
mov dword [0x140073370], edi
mov qword [0x140073378], rdi
mov qword [0x140073380], rdi
lea ecx, [rdi + 0x20]
call fcn.140046f78
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140073378], rax
mov qword [0x140073388], rdi
xorps xmm0, xmm0
movdqa xmmword [0x140073390], xmm0
mov qword [0x1400733a0], 7
mov qword [0x1400733a8], 8
mov dword [0x140073370], 0x3f800000
mov r8, rax
lea edx, [rdi + 0x10]
lea rcx, [0x140073388]
call fcn.1400463e0
nop
lea rcx, [0x140048fe0]
call fcn.140047388
nop
lea rcx, [0x1400733f4]
call fcn.140047418
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 [0x1400733a0]
and rax, rsi
add rax, rax
mov r8, qword [0x140073388]
mov rcx, qword [r8 + rax*8 + 8]
mov rdx, qword [0x140073378]
cmp rcx, rdx
je 0x140045ef7
mov rax, qword [r8 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x140045efa
cmp rcx, rax
je 0x140045ef7
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140045ee6
jmp 0x140045efa
mov rcx, rdi
mov rax, rdx
test rcx, rcx
cmovne rax, rcx
cmp rax, rdx
jne 0x140045f69
mov qword [rsp + 0x20], rbx
movss dword [rsp + 0x28], xmm7
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
call fcn.140046520
and rsi, qword [0x1400733a0]
add rsi, rsi
mov rdx, qword [0x140073388]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x140073378]
cmp rcx, rax
je 0x140045f62
mov rdx, qword [rdx + rsi*8]
cmp rbx, qword [rcx + 0x10]
je 0x140045f5f
nop
cmp rcx, rdx
je 0x140045f62
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140045f50
mov rdi, rcx
test rdi, rdi
cmovne rax, rdi
mov rcx, qword [0x140073048]
subss xmm6, dword [rcx + 0x18]
mulss xmm6, dword [rsp + 0xb0]
lea rdx, [rax + 0x18]
movss xmm0, dword [rdx]
test bpl, bpl
je 0x140045f97
comiss xmm8, xmm0
jbe 0x140045fa4
addss xmm0, xmm6
jmp 0x140045fa0
comiss xmm0, xmm7
jbe 0x140045fa4
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