Function at 0x18003b040
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movss xmm0, dword [0x1800c7174]
comiss xmm0, dword [0x1800ec784]
ja 0x18003b6f4
cmp byte [0x1800ec78c], 0
mov qword [rax + 0x10], rsi
movabs rsi, 0x8afd473cacb6b6a4
mov qword [rax + 0x20], r12
movabs r12, 0x168d4ed721ff05d4
mov qword [rax - 0x10], r14
movabs r14, 0xcbf29ce484222325
mov qword [rax - 0x18], r15
movabs r15, 0x100000001b3
movaps xmmword [rax - 0x38], xmm7
xorps xmm7, xmm7
movaps xmmword [rax - 0x78], xmm15
movss xmm15, dword [0x1800c6d20]
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rdi
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
je 0x18003b39c
cmp qword [0x1800c4c40], 0
je 0x18003b39c
movss xmm0, dword [0x1800c4c30]
ucomiss xmm0, xmm7
jp 0x18003b118
jne 0x18003b118
movss xmm0, dword [0x1800c4c34]
ucomiss xmm0, xmm7
jp 0x18003b118
jne 0x18003b118
movss xmm0, dword [0x1800c4c38]
ucomiss xmm0, xmm7
jp 0x18003b118
je 0x18003b39c
mov rcx, qword [0x1800e9af0]
call fcn.180011bb0
mov rdi, rax
test rax, rax
je 0x18003b39c
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x10]
movsx rdx, byte [rcx]
test dl, dl
je 0x18003b39c
xor rdx, r14
imul rdx, r15
inc rcx
call fcn.18000aae0
cmp rax, r12
je 0x18003b160
cmp rax, rsi
jne 0x18003b39c
cmp byte [0x1800ec78c], 0
je 0x18003b39c
lea rcx, [0x1800c4ea8]
call fcn.180039d60
test al, al
je 0x18003b39c
movss xmm0, dword [0x1800c4c30]
movss xmm1, dword [0x1800c4c34]
mov rcx, qword [0x1800e9af0]
movss dword [rbp - 0x59], xmm0
movss xmm0, dword [0x1800c4c38]
movss dword [rbp - 0x51], xmm0
movss dword [rbp - 0x55], xmm1
call fcn.180017cb0
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.18001cd10
movss xmm8, dword [0x1800c4c30]
movss xmm6, dword [0x1800c4c34]
movaps xmm1, xmm8
movss xmm9, dword [0x1800c4c38]
movaps xmm2, xmm6
subss xmm2, dword [rax + 4]
subss xmm1, dword [rax]
movaps xmm0, xmm9
subss xmm0, dword [rax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18003b21a
xorps xmm10, xmm10
sqrtss xmm10, xmm2
jmp 0x18003b226
movaps xmm0, xmm2
call fcn.1800c17b0
movaps xmm10, xmm0
subss xmm6, dword [rbp - 0x55]
subss xmm8, dword [rbp - 0x59]
subss xmm9, dword [rbp - 0x51]
xorps xmm0, xmm0
mulss xmm6, xmm6
mulss xmm8, xmm8
mulss xmm9, xmm9
addss xmm6, xmm8
addss xmm6, xmm9
ucomiss xmm0, xmm6
ja 0x18003b25d
sqrtss xmm6, xmm6
jmp 0x18003b268
movaps xmm0, xmm6
call fcn.1800c17b0
movaps xmm6, xmm0
addss xmm6, dword [0x1800c6f54]
call fcn.18001c470
call fcn.18001c620
call fcn.18001c2b0
mov rcx, qword [0x1800e9af0]
call fcn.1800264f0
lea rdx, [rbp - 0x49]
mov rcx, rax
call fcn.180012ab0
movss xmm0, dword [rbp - 0x49]
ucomiss xmm0, xmm7
jp 0x18003b2bf
jne 0x18003b2bf
movss xmm0, dword [rbp - 0x45]
ucomiss xmm0, xmm7
jp 0x18003b2bf
jne 0x18003b2bf
movss xmm0, dword [rbp - 0x41]
ucomiss xmm0, xmm7
jp 0x18003b2bf
je 0x18003b690
mov qword [rsp + 0x28], 0
lea rdx, [rbp - 0x59]
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm15
mov r8d, 0x48a10000
lea rcx, [rbp - 0x49]
call fcn.18001e0b0
test al, al
je 0x18003b39c
mov rcx, qword [0x1800c4bf0]
call fcn.18003a890
movss xmm1, dword [0x1800ec784]
addss xmm1, dword [0x1800c725c]
mulss xmm1, dword [0x1800c6f5c]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x1800c7268]
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm6
jbe 0x18003b39c
movss xmm0, dword [0x1800c7278]
comiss xmm0, xmm10
jb 0x18003b39c
mov rcx, qword [0x1800c4c40]
movsd xmm6, qword [0x1800c4c30]
mov ebx, dword [0x1800c4c38]
call fcn.180017cb0
mov ecx, dword [rbp - 0x41]
lea r9, [rbp - 0x29]
movsd xmm0, qword [rbp - 0x49]
mov r8, qword [0x1800c4c40]
mov rdx, qword [0x1800e9af0]
mov dword [rbp - 0x21], ecx
lea rcx, [rbp - 0x39]
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], rcx
mov rcx, rdi
movsd qword [rbp - 0x39], xmm6
mov dword [rbp - 0x31], ebx
movsd qword [rbp - 0x29], xmm0
mov qword [rsp + 0x20], rax
call fcn.180026af0
cmp byte [0x1800ec78b], 0
je 0x18003b690
cmp qword [0x1800c4bf0], 0
je 0x18003b690
movss xmm0, dword [0x1800c4be0]
ucomiss xmm0, xmm7
jp 0x18003b3e8
jne 0x18003b3e8
movss xmm0, dword [0x1800c4be4]
ucomiss xmm0, xmm7
jp 0x18003b3e8
jne 0x18003b3e8
movss xmm0, dword [0x1800c4be8]
ucomiss xmm0, xmm7
jp 0x18003b3e8
je 0x18003b690
mov rcx, qword [0x1800e9af0]
call fcn.180011bb0
mov rdi, rax
test rax, rax
je 0x18003b690
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x10]
movsx rax, byte [rcx]
test al, al
je 0x18003b690
mov rdx, rax
xor rdx, r14
imul rdx, r15
inc rcx
call fcn.18000aae0
cmp rax, r12
je 0x18003b433
cmp rax, rsi
jne 0x18003b690
cmp byte [0x1800ec78b], 0
je 0x18003b690
lea rcx, [0x1800c4ea8]
call fcn.180039d60
test al, al
je 0x18003b690
movss xmm0, dword [0x1800c4be0]
movss xmm1, dword [0x1800c4be4]
mov rcx, qword [0x1800e9af0]
movss dword [rbp - 0x49], xmm0
movss xmm0, dword [0x1800c4be8]
movss dword [rbp - 0x41], xmm0
movss dword [rbp - 0x45], xmm1
call fcn.180017cb0
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.18001cd10
movss xmm8, dword [0x1800c4be0]
movss xmm6, dword [0x1800c4be4]
movaps xmm1, xmm8
movss xmm9, dword [0x1800c4be8]
movaps xmm2, xmm6
subss xmm2, dword [rax + 4]
subss xmm1, dword [rax]
movaps xmm0, xmm9
subss xmm0, dword [rax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18003b4ed
xorps xmm10, xmm10
sqrtss xmm10, xmm2
jmp 0x18003b4f9
movaps xmm0, xmm2
call fcn.1800c17b0
movaps xmm10, xmm0
subss xmm6, dword [rbp - 0x45]
subss xmm8, dword [rbp - 0x49]
subss xmm9, dword [rbp - 0x41]
xorps xmm0, xmm0
mulss xmm6, xmm6
mulss xmm8, xmm8
mulss xmm9, xmm9
addss xmm6, xmm8
addss xmm6, xmm9
ucomiss xmm0, xmm6
ja 0x18003b530
sqrtss xmm6, xmm6
jmp 0x18003b53b
movaps xmm0, xmm6
call fcn.1800c17b0
movaps xmm6, xmm0
addss xmm6, dword [0x1800c6f54]
call fcn.18001c470
call fcn.18001c620
call fcn.18001c2b0
mov rcx, qword [0x1800e9af0]
call fcn.1800264f0
lea rdx, [rbp - 0x59]
mov rcx, rax
call fcn.180012ab0
movss xmm0, dword [rbp - 0x59]
ucomiss xmm0, xmm7
jp 0x18003b592
jne 0x18003b592
movss xmm0, dword [rbp - 0x55]
ucomiss xmm0, xmm7
jp 0x18003b592
jne 0x18003b592
movss xmm0, dword [rbp - 0x51]
ucomiss xmm0, xmm7
jp 0x18003b592
je 0x18003b690
mov qword [rsp + 0x28], 0
lea rdx, [rbp - 0x49]
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm15
mov r8d, 0x48a10000
lea rcx, [rbp - 0x59]
call fcn.18001e0b0
test al, al
je 0x18003b690
mov rcx, qword [0x1800c4bf0]
call fcn.18003a890
movss xmm1, dword [0x1800ec784]
addss xmm1, dword [0x1800c725c]
mulss xmm1, dword [0x1800c6f5c]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x1800c7268]
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm6
jbe 0x18003b690
mov rcx, qword [0x1800c4bf0]
call fcn.180011f20
mov edx, 0x200
mov rcx, rax
call fcn.18001ac80
test al, al
je 0x18003b690
movss xmm0, dword [0x1800c71f0]
comiss xmm0, xmm10
jb 0x18003b690
mov rcx, qword [0x1800c4bf0]
movsd xmm6, qword [0x1800c4be0]
mov ebx, dword [0x1800c4be8]
call fcn.180017cb0
mov ecx, dword [rbp - 0x51]
lea r9, [rbp - 0x39]
movsd xmm0, qword [rbp - 0x59]
mov r8, qword [0x1800c4bf0]
mov rdx, qword [0x1800e9af0]
mov dword [rbp - 0x31], ecx
lea rcx, [rbp - 0x29]
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], rcx
mov rcx, rdi
movsd qword [rbp - 0x29], xmm6
mov dword [rbp - 0x21], ebx
movsd qword [rbp - 0x39], xmm0
mov qword [rsp + 0x20], rax
call fcn.180026af0
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
mov rdi, qword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0xd0]
mov rbx, qword [rsp + 0x100]
mov r14, qword [rsp + 0xe8]
mov r12, qword [rsp + 0x118]
mov r15, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x108]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm15, xmmword [rsp + 0x80]
add rsp, 0xf0
pop rbp
ret