Function at 0x100fdfa0
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 0x10176bed
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x54
mov eax, dword [0x1029cd08]
push esi
mov byte [ebp - 0x11], dl
movss dword [ebp - 0x1c], xmm1
mov dword [ebp - 0x18], ecx
cmp eax, dword [0x1029cd0c]
je 0x100fdff3
mov dword [eax], ecx
add dword [0x1029cd08], 4
jmp 0x100fdffd
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.101237e0
cmp byte [ebp - 0x11], 0
jne 0x100fe07e
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.101201b0
cmp dword [eax + 4], 0
je 0x100fe07e
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1011f330
mov eax, dword [eax]
movss xmm0, dword [eax + 0xc]
comiss xmm0, dword [ebp - 0x1c]
jbe 0x100fe07e
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.1011f330
mov eax, dword [eax]
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x1c], xmm0
mov esi, dword [0x1029bac8]
lea eax, [ebp - 0x40]
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.10058590
mov dword [esi + 0x37dc], 0
mov dword [esi + 0x37e0], 0
call fcn.100736c0
mov ecx, dword [0x1029bac8]
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 [0x10285a84]
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.10041d50
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.10045a20
mov esi, dword [0x1029bac8]
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.10058590
mov dword [esi + 0x37cc], 0x41000000
mov dword [esi + 0x37d0], 0
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x23
je 0x100fe321
mov esi, dword [0x1029bac8]
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 + 0x3860]
movss dword [ebp - 0x20], xmm1
movups xmmword [ebp - 0x44], xmm0
call fcn.10058650
movups xmm0, xmmword [0x1029d93c]
movups xmmword [esi + 0x3860], xmm0
mov ecx, dword [0x1029d9c4]
call fcn.1004bbd0
mov ecx, dword [0x1029bac8]
movss xmm1, dword [ebp - 0x1c]
addss xmm1, dword [0x102859c8]
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.100fd1b0
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 0xf
jbe 0x100fe24d
mov eax, dword [eax]
push 1
xor edx, edx
mov ecx, eax
call fcn.10074250
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0xf
jbe 0x100fe298
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fe28e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fe28e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1016f528
add esp, 8
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.1004bc90
mov ecx, 1
call fcn.10040340
mov ecx, dword [0x1029bac8]
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.100fd0a0
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