Function at 0x10001cf0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004ecd5
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x10063040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [0x100daf00]
xor edx, edx
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x1a20]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x1a20]
mov dword [ebp - 0x24], eax
mov ecx, dword [eax + 0x1c8]
mov eax, dword [eax + 0x1d0]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.10011f30
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
cmp dword [esi + 0x1a3c], ebx
jne 0x10001d64
mov byte [esi + 0x1a48], 1
cmp dword [esi + 0x1a40], ebx
jne 0x10001d73
mov byte [esi + 0x1a4c], 1
mov dword [ebp - 0x1c], ebx
mov ecx, edi
cmp edi, 0xffffffff
jae 0x10001d96
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x10001d96
cmp dl, 0x23
jne 0x10001d90
cmp byte [ecx + 1], dl
je 0x10001d96
inc ecx
cmp ecx, 0xffffffff
jb 0x10001d80
movss xmm2, dword [esi + 0x1938]
mov eax, dword [esi + 0x1934]
mov dword [ebp - 0x20], eax
movss dword [ebp + 8], xmm2
cmp edi, ecx
jne 0x10001db5
xorps xmm3, xmm3
jmp 0x10001e09
movss xmm3, dword [0x1005ec10]
push ecx
push ecx
push edi
push ecx
lea ecx, [ebp - 0x2c]
mov dword [esp], 0xbf800000
push ecx
mov ecx, eax
call fcn.10049e70
mov eax, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x2c]
comiss xmm0, dword [0x1005ea38]
movss xmm1, dword [ebp + 8]
divss xmm1, dword [eax]
jbe 0x10001df1
subss xmm0, xmm1
addss xmm0, dword [0x1005ead0]
movss xmm2, dword [ebp - 0x28]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x44]
push 0
mov edx, ebx
movss xmm0, dword [eax + 0xc8]
movss xmm1, dword [eax + 0xcc]
addss xmm3, xmm0
mov eax, dword [eax + 0x27c]
addss xmm2, xmm1
mov dword [ebp - 0x20], eax
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x40], xmm1
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x38], xmm2
call fcn.100143b0
movss xmm2, dword [ebp - 0x3c]
lea ecx, [ebp - 0x2c]
addss xmm2, dword [0x1005eb74]
movss xmm0, dword [ebp - 0x38]
mov eax, dword [0x100daf00]
subss xmm0, dword [ebp - 0x40]
subss xmm2, dword [ebp - 0x44]
movss xmm1, dword [eax + 0x1548]
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x2c], xmm2
call fcn.10013ac0
push 0
lea eax, [ebp + 0xb]
mov edx, ebx
push eax
lea eax, [ebp - 0xd]
push eax
lea ecx, [ebp - 0x44]
call fcn.10021ab0
mov ecx, dword fs:[0x2c]
add esp, 0x10
mov edx, dword [0x100658cc]
mov byte [ebp + 0xb], al
mov edx, dword [ecx + edx*4]
mov ecx, dword [0x100db3b0]
cmp ecx, dword [edx + 4]
jle 0x10001f82
push 0x100db3b0
call fcn.1004ae00
add esp, 4
cmp dword [0x100db3b0], 0xffffffff
jne 0x10001f82
mov dword [ebp - 4], 0
push 0x10
mov dword [0x100db3b4], 0
mov dword [0x100db3b8], 0
mov dword [0x100db3bc], 0
call fcn.1004ae64
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x100db3b8], eax
mov dword [0x100db3c0], 0
mov dword [0x100db3c4], 0
mov dword [0x100db3c8], 0
mov byte [ebp - 4], 2
mov ecx, 0x100db3c0
push eax
push 0x10
mov dword [0x100db3cc], 7
mov dword [0x100db3d0], 8
mov dword [0x100db3b4], 0x3f800000
call fcn.10003150
push 0x10050020
call fcn.1004b199
push 0x100db3b0
mov dword [ebp - 4], 0xffffffff
call fcn.1004adaf
add esp, 8
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, bh
xor ecx, eax
movzx eax, byte [ebp - 0x12]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x11]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x100db3b4
push eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10003d70
mov ecx, dword [0x100db3b8]
mov esi, ecx
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp esi, ecx
jne 0x1000201c
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], ebx
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x28], 0
push eax
mov ecx, 0x100db3b4
call fcn.10003420
push dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
mov ecx, 0x100db3b4
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10003d70
mov esi, dword [0x100db3b8]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp byte [ebp + 0xc], 0
je 0x1000202c
movss xmm1, dword [0x1005ead4]
jmp 0x1000202f
xorps xmm1, xmm1
subss xmm1, dword [esi + 0xc]
push 0
push ecx
mov dword [esp], 0
xor ecx, ecx
push 0
mulss xmm1, dword [0x1005ea78]
push edi
addss xmm1, dword [esi + 0xc]
movss dword [esi + 0xc], xmm1
maxss xmm1, dword [0x1005ea98]
call fcn.100124b0
mov ebx, dword [ebp - 0x20]
xorps xmm2, xmm2
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
push 0
call fcn.100479d0
movd xmm3, dword [0x10065408]
xorps xmm1, xmm1
movss xmm4, dword [0x1005ebcc]
mov eax, dword [0x100daf00]
cvtdq2ps xmm3, xmm3
movss xmm6, dword [esi + 0xc]
movd xmm5, dword [0x1006540c]
movaps xmm0, xmm6
movd xmm7, dword [0x10065410]
mulss xmm0, dword [eax + 0x1508]
divss xmm3, xmm4
cvtdq2ps xmm5, xmm5
comiss xmm1, xmm3
cvtdq2ps xmm7, xmm7
movss dword [ebp + 0xc], xmm0
movss xmm0, dword [0x1005ead4]
divss xmm5, xmm4
divss xmm7, xmm4
jbe 0x100020da
xorps xmm2, xmm2
jmp 0x100020e1
movaps xmm2, xmm0
minss xmm2, xmm3
comiss xmm1, xmm5
movss xmm3, dword [0x1005eaa8]
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si ecx, xmm2
jbe 0x100020ff
xorps xmm2, xmm2
jmp 0x10002106
movaps xmm2, xmm0
minss xmm2, xmm5
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si eax, xmm2
shl eax, 8
or ecx, eax
comiss xmm1, xmm7
jbe 0x10002121
xorps xmm2, xmm2
jmp 0x10002128
movaps xmm2, xmm0
minss xmm2, xmm7
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si eax, xmm2
movss xmm2, dword [ebp + 0xc]
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm2
jbe 0x10002148
xorps xmm0, xmm0
jmp 0x1000214c
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm3
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0x3c]
shl esi, 0x18
or esi, ecx
mulss xmm0, xmm3
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [0x1005eb64]
movss dword [ebp - 0x28], xmm0
test esi, 0xff000000
je 0x100021e2
mulss xmm6, dword [0x1005eb34]
lea eax, [ebp - 0x2c]
push 0xc
push ecx
mov dword [esp], 0x40b84e89
xorps xmm3, xmm3
push eax
movaps xmm2, xmm6
mov ecx, ebx
call fcn.10046e50
push esi
push dword [ebx + 0x54]
mov ecx, ebx
push dword [ebx + 0x5c]
call fcn.100468d0
mov ecx, dword [ebx + 0x58]
test ecx, ecx
jns 0x100021db
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x54]
call fcn.10032d70
mov dword [ebx + 0x54], 0
mov al, byte [ebp + 0xb]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8