Function at 0x1401cfd60
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 - 0x2e8]
sub rsp, 0x3c0
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 [0x1402f2018]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r13, rcx
xor r12d, r12d
mov dword [rsp + 0x20], 0x44fa0000
mov dword [rsp + 0x24], 0x451c4000
mov dword [rsp + 0x28], 0x453b8000
mov rax, qword [0x1402fb580]
mov ecx, dword [rax + 0x3d8]
dec ecx
movss xmm8, dword [rsp + rcx*4 + 0x20]
movss dword [rbp + 0x20], xmm8
movss xmm6, dword [0x1402c1444]
movss dword [rbp + 0x24], xmm6
movss xmm9, dword [0x1402c19b8]
movss dword [rbp + 0x28], xmm9
movss xmm10, dword [0x1402c1aa8]
movss dword [rbp + 0x2c], xmm10
mov qword [rbp + 0x30], 1
mov byte [rbp + 0x38], 1
movsd xmm1, qword [0x1402fba30]
movaps xmm11, xmm1
movsd qword [rbp + 0x3c], xmm1
mov esi, dword [0x1402fba38]
mov dword [rbp + 0x44], esi
xor r14d, r14d
mov dword [rbp + 0x48], r14d
mov byte [rbp + 0x4c], r12b
mov dword [rbp + 0x50], 0xffffffff
movaps xmm12, xmm1
movsd qword [rbp + 0x54], xmm1
mov dword [rbp + 0x5c], esi
mov qword [rbp + 0x60], r12
movaps xmm13, xmm1
movsd qword [rbp + 0x68], xmm1
mov dword [rbp + 0x70], esi
movaps xmm14, xmm1
movsd qword [rbp + 0x74], xmm1
mov dword [rbp + 0x7c], esi
xorps xmm15, xmm15
movss dword [rbp + 0x80], xmm15
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], r12
movdqa xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r12
mov byte [rbp + 0xc8], r12b
xor eax, eax
mov qword [rbp + 0xcc], rax
mov byte [rbp + 0xd4], al
mov dword [rbp + 0xd8], r12d
mov byte [rbp + 0xdc], al
movss xmm7, dword [0x1402c1908]
mov dword [rbp + 0xe0], 0x42820000
movss xmm1, dword [0x1402c1adc]
call fcn.1401c2e00
mov rdi, rax
test rax, rax
je 0x1401d036c
cmp byte [rax + 0xa7], r14b
je 0x1401d036c
mov rcx, rax
call fcn.14006a560
test al, al
jne 0x1401d036c
cmp byte [rdi + 0xa5], al
je 0x1401d036c
cmp byte [rdi + 0xa4], al
je 0x1401d036c
mov rbx, qword [0x1402fb580]
cmp dword [rbx + 0x3e0], r14d
jbe 0x1401cff6f
cmp dword [rbx + 0x3dc], r14d
je 0x1401d036c
movss xmm0, dword [0x1402fb3b0]
comiss xmm0, dword [rbx + 0x3e8]
jb 0x1401d036c
mov eax, dword [rbx + 0x3d8]
test eax, eax
je 0x1401d036c
dec eax
movss xmm0, dword [rbx + 0x30]
comiss xmm0, dword [rbx + rax*4 + 0x410]
jb 0x1401d036c
mov al, 0x76
mov dword [rsp + 0x20], 0x72786576
mov dword [rsp + 0x24], 0x6d697432
mov dword [rsp + 0x28], 0x7265
movzx eax, al
mov edx, 0x811c9dc5
xor eax, edx
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x21]
call fcn.1400356d0
mov edx, eax
mov rcx, qword [rbx + 0x180]
mov rax, qword [rbx + 0x188]
cmp rcx, rax
je 0x1401d0002
cmp dword [rcx + 0x30], edx
je 0x1401d036c
add rcx, 0x50
cmp rcx, rax
jne 0x1401cfff0
movss xmm1, dword [r13 + 0x134]
addss xmm1, dword [0x1402c1a68]
movss xmm0, dword [0x1402fb394]
comiss xmm0, xmm1
jbe 0x1401d036c
movss dword [rsp + 0x58], xmm8
movss dword [rsp + 0x5c], xmm6
movss dword [rsp + 0x60], xmm9
movss dword [rsp + 0x64], xmm10
mov qword [rsp + 0x68], 1
mov byte [rsp + 0x70], 1
movsd qword [rsp + 0x74], xmm11
mov dword [rsp + 0x7c], esi
mov dword [rbp - 0x80], r14d
mov byte [rbp - 0x7c], 0
mov dword [rbp - 0x78], 0xffffffff
movsd qword [rbp - 0x74], xmm12
mov dword [rbp - 0x6c], esi
mov qword [rbp - 0x68], r12
movsd qword [rbp - 0x60], xmm13
mov dword [rbp - 0x58], esi
movsd qword [rbp - 0x54], xmm14
mov dword [rbp - 0x4c], esi
movss dword [rbp - 0x48], xmm15
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 0x40]
call fcn.140031c00
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0x10], eax
movzx eax, byte [rbp + 0xdc]
mov byte [rbp + 0x14], al
movss xmm0, dword [rbp + 0xe0]
movss dword [rbp + 0x18], xmm0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x68], rdi
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0xf0]
mov rcx, qword [0x1402fb4e8]
call fcn.14015e510
nop
lea rcx, [rbp - 0x18]
call fcn.140034070
nop
mov ecx, dword [r13 + 0x168]
test ecx, ecx
je 0x1401d011c
sub ecx, 1
je 0x1401d0115
sub ecx, 1
je 0x1401d0107
cmp ecx, 1
je 0x1401d010e
mov eax, 5
jmp 0x1401d0121
mov eax, 6
jmp 0x1401d0121
mov eax, 4
jmp 0x1401d0121
mov eax, 3
cmp dword [rbp + 0x208], eax
jl 0x1401d0347
movss xmm6, dword [0x1402fba30]
movss xmm5, dword [0x1402fba34]
movss xmm4, dword [0x1402fba38]
movss xmm0, dword [rbp + 0x1f8]
movss xmm1, dword [rbp + 0x1f4]
movss xmm2, dword [rbp + 0x1f0]
ucomiss xmm2, xmm6
jp 0x1401d0172
jne 0x1401d0172
ucomiss xmm1, xmm5
jp 0x1401d0172
jne 0x1401d0172
ucomiss xmm0, xmm4
jp 0x1401d0172
je 0x1401d01a0
movss xmm3, dword [0x1402c1b34]
comiss xmm2, xmm3
jbe 0x1401d01a0
comiss xmm1, xmm3
jbe 0x1401d01a0
comiss xmm0, xmm3
jbe 0x1401d01a0
movss xmm3, dword [0x1402c1880]
comiss xmm3, xmm2
jbe 0x1401d01a0
comiss xmm3, xmm1
jbe 0x1401d01a0
comiss xmm3, xmm0
ja 0x1401d01b9
ucomiss xmm2, xmm6
jp 0x1401d01b9
jne 0x1401d01b9
ucomiss xmm1, xmm5
jp 0x1401d01b9
jne 0x1401d01b9
ucomiss xmm0, xmm4
jp 0x1401d01b9
je 0x1401d0347
mov rax, qword [0x1402fb580]
movsd xmm0, qword [rax + 8]
movss xmm1, dword [rdi + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm1, xmm0
movss xmm2, dword [rdi + 0x10]
subss xmm2, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401d01fb
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401d0203
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [rdi + 0xd4]
comiss xmm1, dword [0x1402c19c4]
ja 0x1401d0217
movaps xmm7, xmm1
mulss xmm7, dword [0x1402c1470]
subss xmm8, xmm7
comiss xmm8, xmm0
jb 0x1401d0347
call fcn.14013edd0
mov r14, rax
movsd xmm6, qword [rbp + 0x1f0]
mov r15d, dword [rbp + 0x1f8]
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x1401d0347
mov rsi, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x1401d02af
lea rcx, [rsp + 0x40]
call fcn.140014500
mov rdi, qword [rsp + 0x40]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsi + 0x170]
call fcn.140066940
test al, al
jne 0x1401d0347
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x1401d0347
mov rax, qword [0x1402fb9c0]
test rax, rax
jne 0x1401d0303
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
movsd qword [rsp + 0x30], xmm6
mov dword [rsp + 0x38], r15d
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
lea edx, [r9 + 3]
mov rcx, r14
call fcn.14006d7b0
test al, al
je 0x1401d0347
movss xmm0, dword [0x1402fb394]
movss dword [r13 + 0x134], xmm0
lea rcx, [rbp + 0x1b8]
call fcn.140034070
lea rcx, [rbp + 0x108]
call fcn.140033e60
lea rcx, [rbp + 0xf0]
call fcn.140033e60
nop
lea rcx, [rbp + 0xb0]
call fcn.140034070
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.1402283f0
lea r11, [rsp + 0x3c0]
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