Function at 0x14002a2e0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
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
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14007a040]
xor rax, rsp
mov qword [rbp - 0x60], rax
mov rbx, rdx
mov r15, rcx
mov r13, qword [0x1400c5eb0]
mov rax, qword [r13 + 0x1ba0]
mov byte [rax + 0x91], 1
mov r12, qword [r13 + 0x1ba0]
cmp byte [r12 + 0x94], 0
jne 0x14002abee
mov rdx, rcx
mov rcx, r12
call fcn.140005b30
mov esi, eax
mov dword [rsp + 0x60], esi
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r15
xorps xmm9, xmm9
movss dword [rsp + 0x20], xmm9
movss xmm3, dword [0x1400714f0]
mov rcx, qword [0x1400c5f98]
movss xmm2, dword [rcx + 0x14]
lea rdx, [rsp + 0x78]
call fcn.1400266b0
movss xmm6, dword [r12 + 0xd8]
movss xmm7, dword [r12 + 0xdc]
movss xmm8, dword [r13 + 0x15bc]
movss xmm2, dword [r13 + 0x15b8]
movaps xmm3, xmm8
addss xmm3, xmm8
addss xmm3, dword [rsp + 0x7c]
addss xmm2, xmm2
addss xmm2, dword [rsp + 0x78]
mov rdx, qword [rbx]
lea rcx, [rsp + 0x58]
call fcn.14000f2a0
movss xmm2, dword [rsp + 0x5c]
addss xmm2, xmm7
movss xmm0, dword [rsp + 0x58]
addss xmm0, xmm6
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm7
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm2
movaps xmm1, xmm8
lea rcx, [rsp + 0x58]
call fcn.14000ee80
mov edx, esi
lea rcx, [rbp - 0x70]
call fcn.14000efd0
test al, al
je 0x14002abee
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x52]
lea r8, [rsp + 0x51]
mov edx, esi
lea rcx, [rbp - 0x70]
call fcn.140029af0
mov byte [rsp + 0x50], al
mov r14d, 4
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx]
movss xmm6, dword [0x1400713ec]
mov ecx, dword [r14 + rbx]
cmp dword [0x1400c6258], ecx
jle 0x14002a563
lea rcx, [0x1400c6258]
call fcn.1400346fc
cmp dword [0x1400c6258], 0xffffffff
jne 0x14002a563
xorps xmm0, xmm0
movups xmmword [0x1400c6210], xmm0
movups xmmword [0x1400c6220], xmm0
movups xmmword [0x1400c6230], xmm0
movups xmmword [0x1400c6240], xmm0
mov dword [0x1400c6210], edi
mov qword [0x1400c6218], rdi
mov qword [0x1400c6220], rdi
lea ecx, [rdi + 0x18]
call fcn.1400343d0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1400c6218], rax
mov qword [0x1400c6228], rdi
xorps xmm0, xmm0
movdqa xmmword [0x1400c6230], xmm0
mov qword [0x1400c6240], 7
mov qword [0x1400c6248], 8
mov dword [0x1400c6210], 0x3f800000
mov r8, rax
lea edx, [rdi + 0x10]
lea rcx, [0x1400c6228]
call fcn.14002d760
nop
lea rcx, [0x140058340]
call fcn.140034634
nop
lea rcx, [0x1400c6258]
call fcn.140034690
mov eax, dword [r14 + rbx]
cmp dword [0x1400c625c], eax
jle 0x14002a640
lea rcx, [0x1400c625c]
call fcn.1400346fc
cmp dword [0x1400c625c], 0xffffffff
jne 0x14002a640
xorps xmm0, xmm0
movups xmmword [0x1400c6100], xmm0
movups xmmword [0x1400c6110], xmm0
movups xmmword [0x1400c6120], xmm0
movups xmmword [0x1400c6130], xmm0
mov dword [0x1400c6100], 0
mov qword [0x1400c6108], rdi
mov qword [0x1400c6110], rdi
mov ecx, 0x18
call fcn.1400343d0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1400c6108], rax
mov qword [0x1400c6118], rdi
xorps xmm0, xmm0
movdqa xmmword [0x1400c6120], xmm0
mov qword [0x1400c6130], 7
mov qword [0x1400c6138], 8
mov dword [0x1400c6100], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1400c6118]
call fcn.14002d760
nop
lea rcx, [0x140058330]
call fcn.140034634
nop
lea rcx, [0x1400c625c]
call fcn.140034690
nop dword [rax + rax]
movzx r14d, sil
movabs rax, 0xcbf29ce484222325
xor r14, rax
movabs rcx, 0x100000001b3
imul r14, rcx
movzx eax, byte [rsp + 0x61]
xor r14, rax
imul r14, rcx
movzx eax, byte [rsp + 0x62]
xor r14, rax
imul r14, rcx
movzx eax, byte [rsp + 0x63]
xor r14, rax
imul r14, rcx
mov rcx, r14
and rcx, qword [0x1400c6240]
add rcx, rcx
mov rdx, qword [0x1400c6228]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [0x1400c6218]
cmp rax, r9
je 0x14002a6c1
mov rcx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x14002a6c4
cmp rax, rcx
je 0x14002a6c1
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14002a6b1
jmp 0x14002a6c4
mov rax, rdi
mov rbx, r9
test rax, rax
cmovne rbx, rax
mov rcx, r14
and rcx, qword [0x1400c6130]
add rcx, rcx
mov rdx, qword [0x1400c6118]
mov rax, qword [rdx + rcx*8 + 8]
mov r8, qword [0x1400c6108]
cmp rax, r8
je 0x14002a710
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x14002a713
nop dword [rax]
cmp rax, rdx
je 0x14002a710
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14002a700
jmp 0x14002a713
mov rax, rdi
mov rdi, r8
test rax, rax
cmovne rdi, rax
cmp rbx, r9
jne 0x14002a791
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], 0x3f800000
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [0x1400c6210]
call fcn.14002d8a0
mov rcx, r14
and rcx, qword [0x1400c6240]
add rcx, rcx
mov rdx, qword [0x1400c6228]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x1400c6218]
cmp rax, rbx
je 0x14002a781
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x14002a783
cmp rax, rdx
je 0x14002a781
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14002a771
jmp 0x14002a783
xor eax, eax
test rax, rax
cmovne rbx, rax
mov r8, qword [0x1400c6108]
cmp rdi, r8
jne 0x14002a7fb
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], 0
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [0x1400c6100]
call fcn.14002d8a0
and r14, qword [0x1400c6130]
add r14, r14
mov rcx, qword [0x1400c6118]
mov rax, qword [rcx + r14*8 + 8]
mov rdi, qword [0x1400c6108]
cmp rax, rdi
je 0x14002a7f2
mov rcx, qword [rcx + r14*8]
cmp esi, dword [rax + 0x10]
je 0x14002a7f4
cmp rax, rcx
je 0x14002a7f2
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14002a7e2
jmp 0x14002a7f4
xor eax, eax
test rax, rax
cmovne rdi, rax
movzx esi, byte [rsp + 0x50]
test sil, sil
je 0x14002a80b
movaps xmm0, xmm9
jmp 0x14002a823
movss xmm0, dword [r13 + 0x18]
mulss xmm0, dword [0x140071404]
addss xmm0, dword [rbx + 0x14]
movss dword [rbx + 0x14], xmm0
movss dword [rbx + 0x14], xmm0
comiss xmm9, xmm0
jbe 0x14002a834
movaps xmm1, xmm9
jmp 0x14002a83b
movaps xmm1, xmm6
minss xmm1, xmm0
movss dword [rbx + 0x14], xmm1
movaps xmm8, xmm6
subss xmm8, xmm1
movss xmm2, dword [0x140071418]
mulss xmm8, xmm2
movss xmm0, dword [r13 + 0x18]
movzx eax, byte [rsp + 0x51]
test al, al
jne 0x14002a86c
xorps xmm0, xmmword [0x140071670]
mulss xmm0, xmm2
addss xmm0, dword [rdi + 0x14]
comiss xmm9, xmm0
jbe 0x14002a881
movaps xmm6, xmm9
jmp 0x14002a885
minss xmm6, xmm0
movss dword [rdi + 0x14], xmm6
movups xmm4, xmmword [r13 + 0x17ec]
movups xmm3, xmmword [r13 + 0x17fc]
cmp byte [rsp + 0x52], 0
je 0x14002a8cc
test al, al
je 0x14002a8cc
mov rax, qword [0x1400c5eb0]
movups xmm0, xmmword [rax + 0x180c]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x74], xmm0
jmp 0x14002a937
movaps xmm2, xmm3
subss xmm2, xmm4
mulss xmm2, xmm6
addss xmm2, xmm4
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x55
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
subss xmm1, xmm0
mulss xmm1, xmm6
addss xmm1, xmm0
shufps xmm3, xmm3, 0xaa
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
subss xmm3, xmm0
mulss xmm3, xmm6
addss xmm3, xmm0
movss dword [rsp + 0x68], xmm2
movss dword [rsp + 0x6c], xmm1
movss dword [rsp + 0x70], xmm3
shufps xmm4, xmm4, 0xff
mov rax, qword [0x1400c5eb0]
mulss xmm4, dword [rax + 0x1570]
movss dword [rsp + 0x74], xmm4
lea rcx, [rsp + 0x68]
call fcn.140004240
mov ebx, eax
mov rcx, qword [r12 + 0x268]
mov rax, qword [rcx + 0x38]
movss xmm1, dword [rax + 0x28]
movss xmm2, dword [rax + 0x20]
xor r9d, r9d
movss xmm0, dword [rax + 0x24]
unpcklps xmm0, xmm1
movq r8, xmm0
movss xmm1, dword [rax + 0x1c]
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.14001e060
mov qword [rsp + 0x58], 0
mov rax, qword [0x1400c5eb0]
movups xmm0, xmmword [rax + 0x17ec]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rbp - 0x74], xmm0
movss xmm12, dword [rbp - 0x68]
subss xmm12, xmm8
movss dword [rsp + 0x60], xmm12
movss xmm13, dword [rbp - 0x64]
subss xmm13, xmm8
movss dword [rsp + 0x64], xmm13
movaps xmm14, xmm8
movss xmm10, dword [rbp - 0x70]
addss xmm14, xmm10
movss dword [rsp + 0x68], xmm14
movaps xmm15, xmm8
movss xmm11, dword [rbp - 0x6c]
addss xmm15, xmm11
movss dword [rsp + 0x6c], xmm15
movss xmm6, dword [r13 + 0x15c0]
addss xmm6, xmm6
movss xmm7, dword [rdi + 0x14]
mulss xmm7, dword [0x140071474]
addss xmm7, dword [0x140071460]
lea rcx, [rbp - 0x80]
call fcn.140004240
mov r9d, eax
movss dword [rsp + 0x38], xmm6
xor edi, edi
mov dword [rsp + 0x30], edi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x68]
mov rcx, qword [r12 + 0x268]
call fcn.1400208a0
mov rcx, qword [r12 + 0x268]
mov eax, dword [rcx + 0x58]
sub eax, 1
mov dword [rcx + 0x58], eax
jne 0x14002aa75
mov rax, qword [rcx + 0x38]
add rax, 0x1c
jmp 0x14002aa81
dec eax
cdqe
shl rax, 4
add rax, qword [rcx + 0x60]
movups xmm0, xmmword [rax]
movups xmmword [rcx + 0x88], xmm0
call fcn.14001df10
movss dword [rsp + 0x68], xmm12
movss dword [rsp + 0x6c], xmm13
movss dword [rsp + 0x58], xmm14
movss dword [rsp + 0x5c], xmm15
mov dword [rsp + 0x28], edi
movss xmm0, dword [r13 + 0x15c0]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x58]
mov rcx, qword [r12 + 0x268]
call fcn.140020310
mov r10, qword [r12 + 0x268]
mov rax, qword [0x1400c5eb0]
movups xmm0, xmmword [rax + 0x164c]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rbp - 0x74], xmm0
lea rcx, [rbp - 0x80]
call fcn.140004240
mov r9d, eax
addss xmm10, dword [rbp - 0x68]
movss xmm0, dword [0x1400713b8]
mulss xmm10, xmm0
movss xmm1, dword [rsp + 0x78]
mulss xmm1, xmm0
subss xmm10, xmm1
addss xmm11, dword [rbp - 0x64]
mulss xmm11, xmm0
movss xmm1, dword [rsp + 0x7c]
mulss xmm1, xmm0
subss xmm11, xmm1
mulss xmm8, dword [0x140071398]
mov rcx, qword [0x1400c5f98]
movss xmm2, dword [rcx + 0x14]
subss xmm2, xmm8
test eax, 0xff000000
je 0x14002abe8
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], dil
jne 0x14002ab74
add r8, r15
cmp r15, r8
je 0x14002abe8
test rcx, rcx
jne 0x14002ab92
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm9
jp 0x14002aba3
jne 0x14002aba3
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], dil
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r15
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movaps xmm0, xmm10
unpcklps xmm0, xmm11
movq r9, xmm0
mov rdx, r10
call fcn.1400268d0
movzx eax, sil
jmp 0x14002abf0
xor al, al
mov rcx, qword [rbp - 0x60]
xor rcx, rsp
call fcn.1400343b0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret