Function at 0x100f5820
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 0x1016266d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x54
mov eax, dword [0x10339c94]
push esi
mov byte [ebp - 0x11], dl
vmovss dword [ebp - 0x1c], xmm1
mov dword [ebp - 0x18], ecx
cmp eax, dword [0x10339c98]
je 0x100f5873
mov dword [eax], ecx
add dword [0x10339c94], 4
jmp 0x100f587d
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.101126c0
cmp byte [ebp - 0x11], 0
jne 0x100f590c
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.10112650
mov eax, dword [eax + 4]
test eax, eax
je 0x100f590c
cmp eax, dword [0x10339c74]
je 0x100f590c
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10110870
mov eax, dword [eax]
vmovss xmm0, dword [eax + 0xc]
vcomiss xmm0, dword [ebp - 0x1c]
jbe 0x100f590c
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10110870
mov eax, dword [eax]
vmovss xmm0, dword [eax + 0xc]
vmovss dword [ebp - 0x1c], xmm0
mov esi, dword [0x1028db88]
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x40], 0x11
vmovss xmm1, dword [esi + 0x37dc]
vmovss xmm0, dword [esi + 0x37e0]
lea ecx, [esi + 0x4778]
vmovss dword [ebp - 0x3c], xmm1
vmovss dword [ebp - 0x38], xmm0
call fcn.1005b7c0
vxorps xmm0, xmm0, xmm0
vmovss dword [esi + 0x37dc], xmm0
vmovss dword [esi + 0x37e0], xmm0
call fcn.10076b40
mov ecx, dword [0x1028db88]
mov esi, dword [ebp - 0x18]
push 0x10018
push 0
mov eax, dword [ecx + 0x3e58]
vmovss dword [ebp - 0x24], xmm0
vmovss xmm0, dword [ebp - 0x1c]
vaddss xmm0, xmm0, dword [0x1027942c]
mov byte [eax + 0xac], 1
lea eax, [ebp - 0x24]
mov ecx, dword [ecx + 0x3e58]
push eax
sub esp, 8
vmovss dword [ebp - 0x20], xmm0
push esi
call fcn.10044d40
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.10048940
mov esi, dword [0x1028db88]
add esp, 0xc
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0xe
vmovss xmm1, dword [esi + 0x37cc]
vmovss xmm0, dword [esi + 0x37d0]
lea ecx, [esi + 0x4778]
push eax
vmovss dword [ebp - 0x3c], xmm1
vmovss dword [ebp - 0x38], xmm0
call fcn.1005b7c0
vmovss xmm0, dword [0x1027942c]
vmovss dword [esi + 0x37cc], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [esi + 0x37d0], xmm0
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x23
je 0x100f5bc3
mov esi, dword [0x1028db88]
mov dword [ebp - 0x48], 0
mov eax, dword [esi + 0x3e58]
lea ecx, [esi + 0x476c]
vmovss xmm0, dword [eax + 0xf0]
vsubss xmm1, xmm0, dword [eax + 0x14]
vmovss xmm0, dword [eax + 0xf4]
vsubss xmm2, xmm0, dword [eax + 0x18]
vaddss xmm0, xmm1, dword [eax + 0x78]
vmovss dword [ebp - 0x20], xmm0
vaddss xmm0, xmm2, dword [eax + 0x7c]
vmovss dword [ebp - 0x1c], xmm0
vmovdqu xmm0, xmmword [esi + 0x3860]
lea eax, [ebp - 0x48]
push eax
vmovdqu xmmword [ebp - 0x44], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab2c]
vmovdqu xmmword [esi + 0x3860], xmm0
mov ecx, dword [0x1028abb4]
call fcn.1004ea50
mov ecx, dword [0x1028db88]
vmovss xmm0, dword [ebp - 0x1c]
vaddss xmm1, xmm0, dword [0x10279330]
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
lea ecx, [ebp - 0x60]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm0, xmm0, xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
mov edx, dword [ebp - 0x18]
call fcn.100f4a40
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 0x10
jb 0x100f5ae7
mov eax, dword [eax]
push 1
xor edx, edx
mov ecx, eax
call fcn.10077640
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x100f5b32
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f5b28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100f5b28
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1015b698
add esp, 8
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.1004eb10
mov ecx, 1
call fcn.10043590
mov ecx, dword [0x1028db88]
sub esp, 8
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
vmovss xmm0, dword [eax + 0x14]
vsubss xmm0, xmm0, dword [eax + 0x78]
vaddss xmm1, xmm0, dword [ebp - 0x20]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm0, xmm0, dword [ebp - 0x1c]
vmovss dword [eax + 0xf4], xmm0
vmovss dword [eax + 0xf0], xmm1
mov byte [eax + 0x131], 1
mov eax, esp
vxorps xmm0, xmm0, xmm0
vmovss dword [eax], xmm0
vmovss xmm0, dword [0x10279454]
vmovss dword [eax + 4], xmm0
call fcn.100f4940
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