Function at 0x100f15d0
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1031dbac
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1878
call fcn.10311900
mov eax, dword [0x1043900c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x1060b5e0]
mov eax, dword [ecx + 0xaa8]
test eax, eax
je 0x100f1a4e
cmp byte [eax + 0x25f], 0
jne 0x100f1a4e
cmp dword [ecx + 0x5528], 0
je 0x100f1a4e
mov ecx, dword [ecx + 0x6e34]
call fcn.100ce000
test al, al
je 0x100f1a4e
movss xmm0, dword [0x1041f128]
xor eax, eax
xor edx, edx
movss dword [ebp - 0x1830], xmm0
mov dword [ebp - 0x1838], eax
mov dword [ebp - 0x1834], edx
mov ecx, dword [0x1060b274]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0x183c], esi
test esi, esi
je 0x100f1a30
mov eax, dword [0x1060b5e0]
cmp esi, dword [eax + 0xaa8]
je 0x100f1a30
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x100f1a30
mov ecx, esi
call fcn.100c8be0
test al, al
jne 0x100f1a30
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [eax + 0x14]
mov eax, dword [0x1060b30c]
cmp ecx, dword [eax + 0x9c]
jne 0x100f1a30
mov eax, dword [0x1060b5e0]
mov ecx, esi
push dword [eax + 0xaa8]
call fcn.100c6430
test al, al
je 0x100f1a30
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x10
mov edx, eax
mov dword [ebp - 0x1820], ecx
mov ecx, eax
shr ecx, 8
shr edx, 0x18
mov dword [ebp - 0x1828], eax
mov dword [ebp - 0x1824], ecx
test eax, eax
je 0x100f1a30
movzx eax, al
xor eax, 0x811c9dc5
mov esi, dword [0x1060b4e8]
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1824]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x1820]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x1828]
push eax
lea eax, [ebp - 0x1878]
push eax
call fcn.1001b5a0
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1824], ecx
test ecx, ecx
jne 0x100f179e
mov ecx, dword [esi + 4]
mov dword [ebp - 0x1824], ecx
cmp ecx, dword [esi + 4]
je 0x100f1a30
mov eax, dword [ecx + 0xc]
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 4]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x1820], esi
mov eax, dword [ecx + 0x14]
add eax, dword [ecx + 0x10]
cmp esi, eax
je 0x100f1a30
test edi, edi
je 0x100f17cf
mov eax, dword [edi]
jmp 0x100f17d1
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
movss xmm1, dword [0x1060ec64]
and ecx, esi
mov ecx, dword [eax + ecx*4]
call fcn.10015590
test al, al
je 0x100f1a24
test edi, edi
je 0x100f17fa
mov eax, dword [edi]
jmp 0x100f17fc
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
push 0x1800
mov eax, dword [eax + ecx*4]
add eax, 0x30
push eax
lea eax, [ebp - 0x1818]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x104c14e0]
add esp, 0xc
mov ecx, dword fs:[0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1060b240]
cmp eax, dword [esi + 4]
jg 0x100f1a6e
lea eax, [ebp - 0x1818]
push eax
push 0
push dword [ebp - 0x183c]
lea eax, [ebp - 0x1848]
push eax
call fcn.10173b60
mov eax, dword [0x10610bf0]
cmp eax, dword [esi + 4]
jg 0x100f1b32
mov eax, dword [0x1060b5e0]
lea ecx, [ebp - 0x1884]
push 0
push ecx
mov ecx, dword [eax + 0xaa8]
mov esi, dword [eax + 0x5528]
call fcn.100beed0
movss xmm0, dword [ebp - 0x1848]
lea ecx, [ebp - 0x1854]
subss xmm0, dword [eax]
movss dword [ebp - 0x182c], xmm0
movss xmm0, dword [ebp - 0x1844]
subss xmm0, dword [eax + 4]
movss dword [ebp - 0x181c], xmm0
movss xmm0, dword [ebp - 0x1840]
subss xmm0, dword [eax + 8]
lea eax, [ebp - 0x1860]
push eax
xorps xmm0, xmmword [0x1041f480]
movss dword [ebp - 0x1828], xmm0
fld dword [ebp - 0x1828]
fld dword [ebp - 0x182c]
fst dword [ebp - 0x182c]
fld dword [ebp - 0x181c]
movss xmm1, dword [ebp - 0x182c]
fst dword [ebp - 0x181c]
movss xmm0, dword [ebp - 0x181c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [ebp - 0x181c], xmm0
fld dword [ebp - 0x181c]
fxch st(1)
fxch st(3)
fxch st(1)
fpatan
fstp dword [ebp - 0x181c]
movss xmm0, dword [ebp - 0x181c]
fpatan
mulss xmm0, dword [0x1041efc8]
fstp dword [ebp - 0x181c]
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x1854], xmm0
movss xmm0, dword [ebp - 0x181c]
mulss xmm0, dword [0x1041efc8]
subss xmm0, dword [esi + 0x10]
movss dword [ebp - 0x1850], xmm0
movss xmm0, dword [esi + 0x14]
xorps xmm0, xmmword [0x1041f480]
movss dword [ebp - 0x184c], xmm0
call fcn.1001da10
movss xmm1, dword [ebp - 0x185c]
movss xmm0, dword [ebp - 0x1860]
mulss xmm1, xmm1
mov dword [ebp - 0x1870], 0
mulss xmm0, xmm0
addss xmm1, xmm0
movss dword [ebp - 0x181c], xmm1
sqrtss xmm0, dword [ebp - 0x181c]
movss dword [ebp - 0x1870], xmm0
movss xmm0, dword [ebp - 0x1870]
movss xmm1, dword [ebp - 0x1830]
comiss xmm1, xmm0
jbe 0x100f1a1e
movss dword [ebp - 0x1830], xmm0
test edi, edi
je 0x100f19f8
mov eax, dword [edi]
jmp 0x100f19fa
xor eax, eax
mov ecx, dword [eax + 8]
mov esi, dword [ebp - 0x1820]
dec ecx
mov eax, dword [eax + 4]
and ecx, esi
inc esi
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1824]
mov dword [ebp - 0x1838], eax
jmp 0x100f17b0
mov esi, dword [ebp - 0x1820]
mov ecx, dword [ebp - 0x1824]
inc esi
jmp 0x100f17b0
mov edx, dword [ebp - 0x1834]
inc edx
mov dword [ebp - 0x1834], edx
cmp edx, 0x40
jl 0x100f1676
mov eax, dword [ebp - 0x1838]
jmp 0x100f1a50
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.102bb91c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x1060b240
call fcn.102bba07
add esp, 4
cmp dword [0x1060b240], 0xffffffff
jne 0x100f1840
push 0x1484d0
push 0
push 0x104c1510
mov dword [0x104c1500], 0
mov byte [0x104c1504], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push fcn.10015de0
push fcn.1001d010
push 0x41
push 0x50d0
push 0x104c1510
call fcn.102bbee9
push 0x44
xorps xmm0, xmm0
mov dword [0x106099e0], 0xffffffff
push 0
push 0x106099f8
movq qword [0x106099e4], xmm0
mov dword [0x106099f4], 0
mov dword [0x106099f0], 0
mov dword [0x106099ec], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
push 0x1032ef30
call fcn.102bbda4
add esp, 4
push 0x1060b240
call fcn.102bb9b6
add esp, 4
jmp 0x100f1840
push 0x10610bf0
call fcn.102bba07
add esp, 4
cmp dword [0x10610bf0], 0xffffffff
jne 0x100f186c
push 0x103305f0
mov byte [0x10610b3c], 0
call fcn.102bbda4
add esp, 4
push 0x10610bf0
call fcn.102bb9b6
add esp, 4
jmp 0x100f186c