Function at 0x18006a390
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
movaps xmm9, xmm3
mov rsi, r8
mov r15d, edx
mov edi, dword [0x18018768c]
mov r12d, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax + rdi*8]
movabs r13, 0xaf63fe4c86022652
mov eax, dword [r12 + rax]
cmp dword [0x1801893f0], eax
jle 0x18006a446
lea rcx, [0x1801893f0]
call fcn.1800abe2c
cmp dword [0x1801893f0], 0xffffffff
jne 0x18006a446
mov rdx, r13
lea rcx, [0x18010c911]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x18018940c], eax
lea rcx, [0x1801893f0]
call fcn.1800abdc0
mov eax, dword [0x18018940c]
mov rbx, qword [rax + rsi]
test rbx, rbx
je 0x18006a9cc
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rdi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x1801893f4], eax
jle 0x18006a613
lea rcx, [0x1801893f4]
call fcn.1800abe2c
cmp dword [0x1801893f4], 0xffffffff
jne 0x18006a613
movabs rax, 0xfc19f6fd9c6badf6
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x2225f8c96b6946f4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xee3a168a98604f65
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rax, 0x6c15b88b94c846f5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x3a13391f4c7ae718
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rcx, 0x826623b87f32a13a
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0x99609791cc38eeb5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x477695ac1f201986
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xd01765effb093917
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x95dcbeadcaa1998
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x487c546d0d039179
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqu ymmword [rbp + 0x60], ymm1
vmovdqa xmm0, xmmword [rbp + 0x80]
vxorps xmm0, xmm0, xmmword [rbp + 0x40]
vmovdqa xmmword [rbp + 0x80], xmm0
vmovd eax, xmm1
test al, al
jne 0x18006a5ce
movabs rax, 0xcbf29ce484222325
vzeroupper
jmp 0x18006a5f9
movsx rdx, al
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
lea rcx, [rbp + 0x61]
vzeroupper
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x180189408], eax
lea rcx, [0x1801893f4]
call fcn.1800abdc0
mov eax, dword [0x180189408]
movzx r14d, byte [rax + rbx]
mov rax, qword gs:[0x58]
mov rax, qword [rax + rdi*8]
movabs rbx, 0xaf63e04c8601f358
mov eax, dword [r12 + rax]
cmp dword [0x18018a558], eax
jle 0x18006a680
lea rcx, [0x18018a558]
call fcn.1800abe2c
cmp dword [0x18018a558], 0xffffffff
jne 0x18006a680
mov rdx, rbx
lea rcx, [0x18010c999]
call fcn.18005f770
mov rdx, rax
call fcn.180068990
mov qword [0x18018a560], rax
lea rcx, [0x18018a558]
call fcn.1800abdc0
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rdi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x18018a568], eax
jle 0x18006a6d8
lea rcx, [0x18018a568]
call fcn.1800abe2c
cmp dword [0x18018a568], 0xffffffff
jne 0x18006a6d8
mov rdx, rbx
lea rcx, [0x18010c9b1]
call fcn.18005f770
mov rdx, rax
call fcn.180068990
mov qword [0x18018a578], rax
lea rcx, [0x18018a568]
call fcn.1800abdc0
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rdi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x18018a580], eax
jle 0x18006a730
lea rcx, [0x18018a580]
call fcn.1800abe2c
cmp dword [0x18018a580], 0xffffffff
jne 0x18006a730
mov rdx, rbx
lea rcx, [0x18010c9c9]
call fcn.18005f770
mov rdx, rax
call fcn.180068990
mov qword [0x18018a570], rax
lea rcx, [0x18018a580]
call fcn.1800abdc0
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rdi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x18018a55c], eax
jle 0x18006a788
lea rcx, [0x18018a55c]
call fcn.1800abe2c
cmp dword [0x18018a55c], 0xffffffff
jne 0x18006a788
mov rdx, rbx
lea rcx, [0x18010c9e1]
call fcn.18005f770
mov rdx, rax
call fcn.180068990
mov qword [0x18018a588], rax
lea rcx, [0x18018a55c]
call fcn.1800abdc0
mov rax, qword [0x18018a560]
movss xmm7, dword [rax + 0x40]
mov rax, qword [0x18018a578]
movss xmm8, dword [rax + 0x40]
mov rax, qword [0x18018a570]
movss xmm6, dword [rax + 0x40]
mov rax, qword [0x18018a588]
movss xmm10, dword [rax + 0x40]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rdi*8]
mov r8d, dword [0x180189390]
cmp r8d, dword [r12 + rcx]
jle 0x18006a81d
lea rcx, [0x180189390]
call fcn.1800abe2c
mov r8d, dword [0x180189390]
cmp r8d, 0xffffffff
jne 0x18006a81d
mov rdx, r13
lea rcx, [0x18010c8f1]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x1801893d4], eax
lea rcx, [0x180189390]
call fcn.1800abdc0
mov r8d, dword [0x180189390]
mov eax, dword [0x1801893d4]
cmp byte [rax + rsi], 3
je 0x18006a82d
movaps xmm7, xmm8
mov rax, qword gs:[0x58]
mov rdx, qword [rax + rdi*8]
cmp r8d, dword [r12 + rdx]
jle 0x18006a87e
lea rcx, [0x180189390]
call fcn.1800abe2c
cmp dword [0x180189390], 0xffffffff
jne 0x18006a87e
mov rdx, r13
lea rcx, [0x18010c8f1]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x1801893d4], eax
lea rcx, [0x180189390]
call fcn.1800abdc0
mov eax, dword [0x1801893d4]
cmp byte [rax + rsi], 3
je 0x18006a88e
movaps xmm6, xmm10
movss xmm8, dword [0x1801110cc]
test r14b, r14b
je 0x18006a8a1
mulss xmm7, xmm8
lea eax, [r15 - 1]
mov rbx, qword [rsp + 0x188]
cmp eax, 7
ja case.default.0x18006a8c5
cdqe
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x6aa08]
add rcx, rdx
jmp rcx
mulss xmm7, dword [rsp + 0x180]
mulss xmm7, dword [rbx]
movss dword [rbx], xmm7
jmp case.default.0x18006a8c5
mulss xmm6, dword [0x180111124]
jmp case.0x18006a8c5.2
mulss xmm6, dword [0x1801110e8]
mulss xmm6, dword [rbx]
movss dword [rbx], xmm6
mov edx, r15d
mov rcx, rsi
call fcn.1800a4060
test al, al
je 0x18006a9cc
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rdi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x1801893fc], eax
jle 0x18006a95e
lea rcx, [0x1801893fc]
call fcn.1800abe2c
cmp dword [0x1801893fc], 0xffffffff
jne 0x18006a95e
mov rdx, r13
lea rcx, [0x18010c939]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x18018941c], eax
lea rcx, [0x1801893fc]
call fcn.1800abdc0
mov eax, dword [0x18018941c]
movss xmm5, dword [0x18011110c]
mulss xmm9, xmm8
test r14b, r14b
je 0x18006a990
movss xmm5, dword [0x1801110b0]
movss xmm8, dword [0x1801110b8]
mulss xmm9, dword [0x1801110a8]
movss xmm4, dword [rbx]
movaps xmm2, xmm4
mulss xmm2, xmm9
movd xmm3, dword [rax + rsi]
cvtdq2ps xmm3, xmm3
movaps xmm1, xmm4
subss xmm1, xmm2
movaps xmm0, xmm8
mulss xmm0, xmm5
mulss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x18006a9c8
divss xmm3, xmm8
movaps xmm2, xmm4
subss xmm2, xmm3
movss dword [rbx], xmm2
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret