Function at 0x18002a130
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x188]
sub rsp, 0x280
cmp byte [0x180001788], 0
je 0x18002a79f
mov qword [rax + 8], rbx
mov rbx, qword [0x18009d598]
mov qword [rax - 0x18], rdi
mov rdi, qword [0x18009d590]
cmp rbx, rdi
je 0x18002a78f
mov qword [rax - 0x10], rsi
movabs r8, 0xcbf29ce484222325
mov qword [rax - 0x20], r12
movabs r9, 0x100000001b3
mov qword [rax - 0x28], r13
movabs r12, 0x7ffffffdfffe
movaps xmmword [rax - 0x48], xmm6
movabs r13, 0xb45668e35362bad9
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
xorps xmm8, xmm8
movaps xmmword [rax - 0x88], xmm10
movss xmm10, dword [0x18000a6dc]
movaps xmmword [rax - 0x98], xmm11
movss xmm11, dword [0x18000d4ec]
movaps xmmword [rax - 0xa8], xmm12
movss xmm12, dword [0x18000d4f8]
movaps xmmword [rax - 0xb8], xmm13
movss xmm13, dword [0x18000d4f4]
movaps xmmword [rax - 0xc8], xmm14
movss xmm14, dword [0x18000d4d0]
movaps xmmword [rax - 0xd8], xmm15
movss xmm15, dword [0x18000a6d4]
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
movaps xmmword [rax - 0x78], xmm9
nop word [rax + rax]
movups xmm7, xmmword [rbx - 0x20]
mov rcx, qword [0x18009b3e0]
add rbx, 0xffffffffffffffe0
movq rsi, xmm7
movups xmmword [rbp - 0x70], xmm7
movups xmm6, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x60], xmm6
cmp rsi, rcx
jbe 0x18002a261
add rcx, qword [0x18009b3e8]
cmp rsi, rcx
jb 0x18002a271
lea rax, [rsi - 0x10000]
cmp rax, r12
ja 0x18002a706
mov rax, qword [rsi]
mov r15d, dword [rsi + 0x180]
mov r14, qword [rax + 0x10]
movsx rax, byte [r14]
test al, al
je 0x18002a706
mov rdx, rax
lea rcx, [r14 + 1]
xor rdx, r8
imul rdx, r9
call fcn.18001e970
movabs rcx, 0x733d1ecc7840fcc6
cmp rax, rcx
jne 0x18002a35f
cmp byte [0x1800017b4], 0
je 0x18002a6f2
shufps xmm7, xmm7, 0xff
ucomiss xmm7, xmm8
jp 0x18002a2e5
jne 0x18002a2e5
ucomiss xmm6, xmm8
jp 0x18002a2e5
jne 0x18002a2e5
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
ucomiss xmm0, xmm8
jp 0x18002a2e5
je 0x18002a6f2
movd xmm1, dword [0x18000178c]
cvtdq2ps xmm1, xmm1
shufps xmm6, xmm6, 0xaa
comiss xmm6, xmm1
ja 0x18002a6f2
cmp byte [0x180001789], 0
movups xmm0, xmmword [0x1800017a4]
movups xmmword [rsp + 0x38], xmm0
je 0x18002a32e
subss xmm6, xmm8
movaps xmm0, xmm10
subss xmm1, xmm8
divss xmm6, xmm1
subss xmm0, xmm6
movss dword [rsp + 0x44], xmm0
mov r9d, r15d
lea rdx, [0x18000d4a8]
mov r8, r14
lea rcx, [rbp - 0x50]
call fcn.180029940
lea r9, [rbp - 0x58]
lea r8, [rsp + 0x38]
lea rdx, [rbp - 0x64]
lea rcx, [rbp - 0x50]
call fcn.18002bb20
jmp 0x18002a6f2
cmp rax, r13
jne 0x18002a6f2
cmp byte [0x1800017a0], 0
movaps xmm9, xmm6
shufps xmm9, xmm6, 0xaa
je 0x18002a413
shufps xmm7, xmm7, 0xff
ucomiss xmm7, xmm8
jp 0x18002a3a1
jne 0x18002a3a1
ucomiss xmm6, xmm8
jp 0x18002a3a1
jne 0x18002a3a1
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
ucomiss xmm0, xmm8
jp 0x18002a3a1
je 0x18002a413
movd xmm2, dword [0x18000178c]
cvtdq2ps xmm2, xmm2
comiss xmm9, xmm2
ja 0x18002a413
cmp byte [0x180001789], 0
movaps xmm0, xmmword [0x180001790]
movups xmmword [rsp + 0x38], xmm0
je 0x18002a3e7
movaps xmm1, xmm9
subss xmm2, xmm8
subss xmm1, xmm8
movaps xmm0, xmm10
divss xmm1, xmm2
subss xmm0, xmm1
movss dword [rsp + 0x44], xmm0
mov r9d, r15d
lea rdx, [0x18000d4a8]
mov r8, r14
lea rcx, [rbp - 0x50]
call fcn.180029940
lea r9, [rbp - 0x58]
lea r8, [rsp + 0x38]
lea rdx, [rbp - 0x64]
lea rcx, [rbp - 0x50]
call fcn.18002bb20
movd xmm0, dword [0x18000178c]
cvtdq2ps xmm0, xmm0
comiss xmm9, xmm0
ja 0x18002a6f2
movsd xmm0, qword [rbp - 0x64]
lea r8, [rsp + 0x30]
mov rcx, qword [0x18009b400]
lea rdx, [rbp - 0x80]
psrldq xmm6, 4
movsd qword [rbp - 0x80], xmm0
movd dword [rbp - 0x78], xmm6
mov qword [rsp + 0x30], 0
call fcn.180024610
test al, al
je 0x18002a6f2
movss xmm0, dword [rsp + 0x34]
mov rax, qword [0x180001c30]
addss xmm0, xmm11
movss dword [rsp + 0x34], xmm0
cmp rax, 0x402402
jne 0x18002a4ab
mov r9b, 1
mov byte [rsp + 0x20], 0
lea r8, [0x180009b70]
lea rdx, [0x18000d3c8]
lea rcx, [0x18000d3f8]
call fcn.18002ee90
mov qword [0x180001c30], rax
movss xmm9, dword [rax + rsi]
mov rax, qword [0x180001c38]
cmp rax, 0x402402
jne 0x18002a4e9
mov r9b, 1
mov byte [rsp + 0x20], 0
lea r8, [0x180009b70]
lea rdx, [0x18000d410]
lea rcx, [0x18000d3f8]
call fcn.18002ee90
mov qword [0x180001c38], rax
divss xmm9, dword [rax + rsi]
mov eax, dword [0x18009d958]
mov r14d, 0xff
movaps xmm0, xmm9
movss dword [rbp + 0x1a0], xmm9
mulss xmm0, xmm13
mulss xmm0, xmm14
cvttss2si r15d, xmm0
sub r14d, r15d
test al, 1
jne 0x18002a547
or eax, 1
movss dword [rsp + 0x20], xmm12
xor r9d, r9d
mov dword [0x18009d958], eax
xor r8d, r8d
lea rdx, [0x18000d1cc]
lea rcx, [0x18009d950]
call fcn.180044a80
movss xmm0, dword [0x18009d950]
lea rax, [rbp + 0x1a0]
movss xmm1, dword [0x18009d954]
lea rsi, [rbp + 0x198]
movss xmm7, dword [rsp + 0x30]
lea rcx, [rsp + 0x38]
mulss xmm0, xmm15
movaps xmm6, xmm1
mov dword [rbp + 0x1a8], 0x3f800000
addss xmm6, dword [rsp + 0x34]
comiss xmm8, xmm9
mov dword [rbp + 0x198], 0
mulss xmm1, xmm15
subss xmm7, xmm0
movdqa xmm0, xmmword [0x18000d590]
cmovbe rsi, rax
movups xmmword [rsp + 0x38], xmm0
addss xmm6, xmm1
call fcn.1800457c0
movss xmm0, dword [0x18009d950]
lea r8, [rsp + 0x48]
mov rcx, qword [0x18009d4e0]
addss xmm0, xmm7
movaps xmm1, xmm6
mov dword [rsp + 0x28], 0
subss xmm1, dword [0x18000d4d4]
mov r9d, eax
movss dword [rsp + 0x50], xmm7
lea rdx, [rsp + 0x50]
movss dword [rsp + 0x20], xmm8
addss xmm0, xmm10
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x48], xmm0
movaps xmm0, xmm6
addss xmm0, dword [0x18000d4d4]
movss dword [rsp + 0x4c], xmm0
call fcn.18005be90
movd xmm0, r14d
lea rcx, [rsp + 0x68]
movd xmm1, r15d
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x74], 0x3f800000
cvtdq2ps xmm1, xmm1
mulss xmm0, dword [0x18000d4b4]
mulss xmm1, dword [0x18000d4b4]
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm1
call fcn.1800457c0
movss xmm0, dword [0x18009d950]
addss xmm7, xmm10
comiss xmm9, xmm10
mov dword [rsp + 0x28], 0
lea rcx, [rbp + 0x1a8]
mov r9d, eax
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x60]
movaps xmm1, xmm10
movss dword [rsp + 0x20], xmm8
movss dword [rsp + 0x60], xmm7
cmovbe rcx, rsi
mulss xmm0, dword [rcx]
mov rcx, qword [0x18009d4e0]
subss xmm0, xmm10
maxss xmm1, xmm0
movaps xmm0, xmm8
addss xmm1, xmm7
maxss xmm0, xmm1
movss dword [rsp + 0x58], xmm0
movaps xmm0, xmm6
addss xmm0, dword [0x18000d4cc]
subss xmm6, dword [0x18000d4cc]
movss dword [rsp + 0x5c], xmm0
movss dword [rsp + 0x64], xmm6
call fcn.18005be90
movabs r9, 0x100000001b3
movabs r8, 0xcbf29ce484222325
cmp rbx, rdi
jne 0x18002a230
movaps xmm15, xmmword [rsp + 0x1b0]
movaps xmm14, xmmword [rsp + 0x1c0]
movaps xmm13, xmmword [rsp + 0x1d0]
movaps xmm12, xmmword [rsp + 0x1e0]
movaps xmm11, xmmword [rsp + 0x1f0]
movaps xmm10, xmmword [rsp + 0x200]
movaps xmm9, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm7, xmmword [rsp + 0x230]
movaps xmm6, xmmword [rsp + 0x240]
mov r15, qword [rsp + 0x250]
mov r14, qword [rsp + 0x258]
mov r13, qword [rsp + 0x260]
mov r12, qword [rsp + 0x268]
mov rsi, qword [rsp + 0x278]
mov rbx, qword [rsp + 0x290]
mov rdi, qword [rsp + 0x270]
add rsp, 0x280
pop rbp
ret