Function at 0x1401eb470
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 - 0xd8]
sub rsp, 0x1b0
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
mov rsi, rcx
mov rax, qword [rcx + 0x198]
movd xmm1, dword [rax + 0x2b0]
cvtdq2ps xmm1, xmm1
call fcn.1401bc430
mov rbx, rax
mov qword [rsi + 0xa8], rax
test rax, rax
je 0x1401ebcb2
cmp byte [rax + 0xa7], 0
je 0x1401ebcb2
mov rcx, rax
call fcn.140066ad0
test al, al
jne 0x1401ebcb2
cmp byte [rbx + 0xa5], al
je 0x1401ebcb2
cmp byte [rbx + 0xa4], al
je 0x1401ebcb2
mov rbx, qword [rsi + 0xa8]
test rbx, rbx
je 0x1401ebcb2
cmp byte [rbx + 0xa7], al
je 0x1401ebcb2
mov rcx, rbx
call fcn.140066ad0
test al, al
jne 0x1401ebcb2
cmp byte [rbx + 0xa5], al
je 0x1401ebcb2
cmp byte [rbx + 0xa4], al
je 0x1401ebcb2
mov rdx, qword [0x1402f0cc0]
cmp dword [rdx + 0x3f0], 0
jbe 0x1401eb588
cmp dword [rdx + 0x3ec], 0
je 0x1401ebcb2
movss xmm0, dword [0x1402f0af0]
comiss xmm0, dword [rdx + 0x3f8]
jb 0x1401ebcb2
mov eax, dword [rdx + 0x3e8]
test eax, eax
je 0x1401ebcb2
dec eax
movss xmm0, dword [rdx + 0x30]
comiss xmm0, dword [rdx + rax*4 + 0x420]
jb 0x1401ebcb2
mov rax, qword [rsi + 0x110]
cmp byte [rax + 0x2b0], 0
je 0x1401ebcb2
mov rax, qword [rsi + 0xa8]
movsd xmm0, qword [rax + 8]
movss xmm1, dword [rdx + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm1, xmm0
movss xmm2, dword [rdx + 0x10]
subss xmm2, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401eb616
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401eb61e
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rax, qword [rsi + 0x198]
movd xmm1, dword [rax + 0x2b0]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1401ebcb2
call fcn.140139aa0
mov r15, qword [rsi + 0xa8]
movsd xmm0, qword [r15 + 8]
movsd qword [rsp + 0x20], xmm0
mov ecx, dword [r15 + 0x10]
mov dword [rsp + 0x28], ecx
mov rbx, qword [rax + 0x18]
mov rdi, qword [rax + 0x20]
cmp rbx, rdi
je 0x1401eb6f7
mov r14, qword [0x1402f0cc0]
movss xmm7, dword [rsp + 0x28]
movss xmm8, dword [rsp + 0x20]
movss xmm6, dword [0x1402b87dc]
cmp byte [rbx + 0xa7], 0
je 0x1401eb6d5
mov eax, dword [r14 + 0x1c]
cmp dword [rbx + 0x1c], eax
je 0x1401eb6d5
movss xmm0, dword [rbx + 8]
subss xmm0, xmm8
movss xmm1, dword [rbx + 0x10]
subss xmm1, xmm7
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1401eb6c8
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1401eb6d0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jae 0x1401eb6e3
add rbx, 0x230
cmp rbx, rdi
je 0x1401eb6f7
jmp 0x1401eb686
mov rax, qword [rsi + 0x1a0]
cmp byte [rax + 0x2b2], 0
je 0x1401ebcb2
movaps xmm2, xmmword [0x1402b99e0]
xor edi, edi
mov qword [rsp + 0x70], rdi
mov byte [rsp + 0x78], 1
movss xmm1, dword [0x1402f1148]
movss xmm3, dword [0x1402f114c]
movss xmm4, dword [0x1402f1150]
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
mov byte [rbp - 0x68], dil
mov dword [rbp - 0x64], edi
movaps xmmword [rbp - 0x60], xmm2
movaps xmm0, xmmword [rsp + 0x70]
shufps xmm0, xmm0, 0x93
movss xmm0, xmm1
shufps xmm0, xmm0, 0x39
movaps xmmword [rbp - 0x50], xmm0
movaps xmm1, xmmword [rbp - 0x80]
movss xmm1, xmm3
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm4
shufps xmm1, xmm1, 0xe1
movaps xmmword [rbp - 0x40], xmm1
movaps xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp - 0x30], xmm0
lea r9, [rbp - 0x60]
mov r8, r15
lea rdx, [rbp - 0x20]
mov rcx, qword [0x1402f0c18]
call fcn.140157c60
mov rax, qword [rsi + 0x178]
movss xmm10, dword [rbp + 0x28]
movd ebx, xmm10
movss xmm11, dword [rbp + 0x24]
movss xmm12, dword [rbp + 0x20]
movaps xmm13, xmm12
unpcklps xmm13, xmm11
lea r12d, [rdi + 5]
mov r8d, dword [rbp + 0x2c]
movss xmm9, dword [0x1402b86c8]
cmp byte [rax + 0x2b0], dil
je 0x1401eb9b9
mov rdx, qword [rsi + 0xa8]
movss xmm1, dword [rdx + 0x28]
divss xmm1, dword [rdx + 0x2c]
mulss xmm1, xmm9
mov rax, qword [rsi + 0x180]
movd xmm0, dword [rax + 0x2b0]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1401eb9b9
mov ecx, dword [rsi + 0x258]
test ecx, ecx
je 0x1401eb822
sub ecx, 1
je 0x1401eb81b
sub ecx, 1
je 0x1401eb80f
cmp ecx, 1
je 0x1401eb814
mov eax, r12d
jmp 0x1401eb827
mov eax, 6
jmp 0x1401eb827
mov eax, 4
jmp 0x1401eb827
mov eax, 3
cmp r8d, eax
jl 0x1401eb9b9
cmp r8d, 1
je 0x1401eb9b9
mov rax, qword [0x1402f0cc0]
movsd xmm0, qword [rax + 8]
movss xmm2, dword [rdx + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm2, xmm0
movss xmm1, dword [rdx + 0x10]
subss xmm1, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401eb87c
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401eb884
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, xmm9
jbe 0x1401eb9b9
ucomiss xmm12, dword [0x1402f1148]
jp 0x1401eb8b6
jne 0x1401eb8b6
ucomiss xmm11, dword [0x1402f114c]
jp 0x1401eb8b6
jne 0x1401eb8b6
ucomiss xmm10, dword [0x1402f1150]
jp 0x1401eb8b6
je 0x1401eb9b9
call fcn.140139ee0
mov r15, rax
mov rcx, qword [0x1402f0bc0]
cmp byte [rcx + 0x6c], dil
jne 0x1401eb9ac
mov r14, qword [0x1402f0cc0]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov rdx, qword [0x1402f3eb8]
sub rdx, qword [0x1402f3eb0]
je 0x1401eb92f
lea rcx, [rsp + 0x40]
call fcn.140012e50
mov rdi, qword [rsp + 0x40]
mov rbx, qword [0x1402f3eb8]
mov rdx, qword [0x1402f3eb0]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x48], rax
movd ebx, xmm10
xor edi, edi
lea rdx, [rsp + 0x40]
lea rcx, [r14 + 0x170]
call fcn.140062b20
test al, al
jne 0x1401eb9ac
mov rax, qword [0x1402f0c20]
cmp dword [rax + 0x154], 1
je 0x1401eb9ac
mov rax, qword [0x1402f10d8]
test rax, rax
jne 0x1401eb97f
mov ecx, 0x36e490
call fcn.14022033c
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.1401cf6f0
nop
mov qword [0x1402f10d8], rax
movsd qword [rsp + 0x30], xmm13
mov dword [rsp + 0x38], ebx
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1401cec00
mov r8, qword [rax]
mov edx, 3
mov rcx, r15
call fcn.140069d30
movss xmm0, dword [0x1402f0ad4]
movss dword [rsi + 0x60], xmm0
mov rax, qword [rsi + 0x170]
cmp byte [rax + 0x2b0], 0
je 0x1401eba33
mov rbx, qword [0x1402f0cc0]
mov al, 0x79
mov dword [rsp + 0x30], 0x656e6f79
mov word [rsp + 0x34], 0x65
mov byte [rsp + 0x36], 0
movzx eax, al
mov edx, 0x811c9dc5
xor eax, edx
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x31]
call fcn.140033860
mov edx, eax
mov rcx, qword [rbx + 0x180]
mov rax, qword [rbx + 0x188]
cmp rcx, rax
je 0x1401ebcb2
nop dword [rax]
cmp dword [rcx + 0x30], edx
je 0x1401eba33
add rcx, 0x50
cmp rcx, rax
jne 0x1401eba20
jmp 0x1401ebcb2
call fcn.140139aa0
mov rcx, qword [rsi + 0x198]
movd xmm6, dword [rcx + 0x2b0]
cvtdq2ps xmm6, xmm6
mov r13, qword [0x1402f0cc0]
movsd xmm0, qword [r13 + 8]
movsd qword [rsp + 0x20], xmm0
mov ecx, dword [r13 + 0x10]
mov dword [rsp + 0x28], ecx
mov r14, qword [rax + 8]
mov rbx, qword [rax]
cmp rbx, r14
je 0x1401ebadc
mov r15d, dword [r13 + 0x1c]
movss xmm7, dword [rsp + 0x28]
movss xmm8, dword [rsp + 0x20]
cmp dword [rbx + 0x1c], r15d
je 0x1401ebad0
cmp byte [rbx + 0xa7], 0
je 0x1401ebad0
movss xmm0, dword [rbx + 8]
subss xmm0, xmm8
movss xmm1, dword [rbx + 0x10]
subss xmm1, xmm7
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1401ebac1
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1401ebac9
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jb 0x1401ebad0
inc edi
add rbx, 0x5f0
cmp rbx, r14
jne 0x1401eba82
mov rax, qword [rsi + 0x188]
cmp edi, dword [rax + 0x2b0]
jl 0x1401ebcb2
mov ecx, dword [rsi + 0x258]
test ecx, ecx
je 0x1401ebb16
sub ecx, 1
je 0x1401ebb0e
sub ecx, 1
je 0x1401ebb1c
cmp ecx, 1
jne 0x1401ebb1c
lea r12d, [rcx + 5]
jmp 0x1401ebb1c
mov r12d, 4
jmp 0x1401ebb1c
mov r12d, 3
mov eax, dword [rbp + 0x2c]
cmp eax, r12d
jl 0x1401ebcb2
cmp eax, 1
je 0x1401ebcb2
mov rax, qword [rsi + 0xa8]
movsd xmm0, qword [r13 + 8]
movss xmm1, dword [rax + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm1, xmm0
movss xmm2, dword [rax + 0x10]
subss xmm2, dword [r13 + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401ebb75
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401ebb7d
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, xmm9
jbe 0x1401ebcb2
ucomiss xmm12, dword [0x1402f1148]
jp 0x1401ebbaf
jne 0x1401ebbaf
ucomiss xmm11, dword [0x1402f114c]
jp 0x1401ebbaf
jne 0x1401ebbaf
ucomiss xmm10, dword [0x1402f1150]
jp 0x1401ebbaf
je 0x1401ebcb2
call fcn.140139ee0
mov r15, rax
mov rcx, qword [0x1402f0bc0]
cmp byte [rcx + 0x6c], 0
jne 0x1401ebca5
mov r14, qword [0x1402f0cc0]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov rdx, qword [0x1402f3eb8]
sub rdx, qword [0x1402f3eb0]
je 0x1401ebc25
lea rcx, [rsp + 0x40]
call fcn.140012e50
mov rdi, qword [rsp + 0x40]
mov rbx, qword [0x1402f3eb8]
mov rdx, qword [0x1402f3eb0]
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, [r14 + 0x170]
call fcn.140062b20
test al, al
jne 0x1401ebca5
mov rax, qword [0x1402f0c20]
cmp dword [rax + 0x154], 1
je 0x1401ebca5
mov rax, qword [0x1402f10d8]
test rax, rax
jne 0x1401ebc75
mov ecx, 0x36e490
call fcn.14022033c
mov qword [rsp + 0x20], rax
mov rcx, rax
call fcn.1401cf6f0
nop
mov qword [0x1402f10d8], rax
movsd qword [rsp + 0x20], xmm13
movss dword [rsp + 0x28], xmm10
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1401cec00
mov r8, qword [rax]
mov edx, 3
mov rcx, r15
call fcn.140069d30
movss xmm0, dword [0x1402f0ad4]
movss dword [rsi + 0x60], xmm0
lea r11, [rsp + 0x1b0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret