Function at 0x100f3420
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 0x1014ed6d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x54
mov eax, dword [0x102efdec]
push esi
mov byte [ebp - 0x11], dl
movss dword [ebp - 0x1c], xmm1
mov dword [ebp - 0x18], ecx
cmp eax, dword [0x102efdf0]
je 0x100f3473
mov dword [eax], ecx
add dword [0x102efdec], 4
jmp 0x100f347d
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.101087f0
cmp byte [ebp - 0x11], 0
jne 0x100f350b
mov edx, dword [ebp - 0x18]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0x16]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x15]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10108970
mov eax, dword [eax + 4]
test eax, eax
je 0x100f350b
cmp eax, dword [0x102efdac]
je 0x100f350b
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10107890
mov eax, dword [eax]
movss xmm0, dword [eax + 0xc]
comiss xmm0, dword [ebp - 0x1c]
jbe 0x100f350b
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10107890
mov eax, dword [eax]
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x1c], xmm0
mov esi, dword [0x10248ac8]
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x40], 2
movss xmm1, dword [esi + 0x3788]
lea ecx, [esi + 0x4778]
movss xmm0, dword [esi + 0x378c]
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x38], xmm0
call fcn.1005e3b0
mov dword [esi + 0x3788], 0x41000000
lea eax, [ebp - 0x40]
mov dword [esi + 0x378c], 0x41000000
mov esi, dword [0x10248ac8]
push eax
mov dword [ebp - 0x40], 0x11
movss xmm1, dword [esi + 0x37dc]
lea ecx, [esi + 0x4778]
movss xmm0, dword [esi + 0x37e0]
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x38], xmm0
call fcn.1005e3b0
mov dword [esi + 0x37dc], 0
mov dword [esi + 0x37e0], 0
call fcn.1007ade0
mov ecx, dword [0x10248ac8]
mov esi, dword [ebp - 0x18]
push 0x10018
push 0
mov eax, dword [ecx + 0x3e58]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [0x10234e04]
mov byte [eax + 0xac], 1
lea eax, [ebp - 0x24]
mov ecx, dword [ecx + 0x3e58]
push eax
sub esp, 8
movss dword [ebp - 0x20], xmm0
push esi
call fcn.10047a30
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.1004b630
mov esi, dword [0x10248ac8]
add esp, 0xc
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0xe
movss xmm1, dword [esi + 0x37cc]
lea ecx, [esi + 0x4778]
movss xmm0, dword [esi + 0x37d0]
push eax
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x38], xmm0
call fcn.1005e3b0
mov dword [esi + 0x37cc], 0x41000000
mov dword [esi + 0x37d0], 0
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x23
je 0x100f37f8
mov esi, dword [0x10248ac8]
mov dword [ebp - 0x48], 0
mov eax, dword [esi + 0x3e58]
lea ecx, [esi + 0x476c]
movss xmm0, dword [eax + 0xf4]
subss xmm0, dword [eax + 0x18]
movss xmm1, dword [eax + 0xf0]
subss xmm1, dword [eax + 0x14]
addss xmm0, dword [eax + 0x7c]
addss xmm1, dword [eax + 0x78]
lea eax, [ebp - 0x48]
push eax
movss dword [ebp - 0x1c], xmm0
movups xmm0, xmmword [esi + 0x385c]
movss dword [ebp - 0x20], xmm1
movups xmmword [ebp - 0x44], xmm0
call fcn.1005e470
movups xmm0, xmmword [0x10245af4]
movups xmmword [esi + 0x385c], xmm0
mov ecx, dword [0x10245b7c]
call fcn.10051770
mov ecx, dword [0x10248ac8]
movss xmm1, dword [ebp - 0x1c]
addss xmm1, dword [0x10234d08]
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
lea ecx, [ebp - 0x60]
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm0, xmm1
movss dword [eax + 0xf4], xmm0
mov edx, dword [ebp - 0x18]
call fcn.100f27b0
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 0x10
jb 0x100f3724
mov eax, dword [eax]
push 1
xor edx, edx
mov ecx, eax
call fcn.1007baf0
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x100f376f
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f3765
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100f3765
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10148588
add esp, 8
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.10051830
mov ecx, 1
call fcn.10045bf0
mov ecx, dword [0x10248ac8]
sub esp, 8
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
movss xmm1, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
subss xmm1, dword [eax + 0x78]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm1, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x1c]
movss dword [eax + 0xf0], xmm1
movss dword [eax + 0xf4], xmm0
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0x41800000
call fcn.100f26b0
add esp, 8
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x11]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret