Function at 0x10001dd0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10055595
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x1006b040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [0x100e1928]
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.100183d0
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
cmp dword [esi + 0x1a3c], ebx
jne 0x10001e44
mov byte [esi + 0x1a48], 1
cmp dword [esi + 0x1a40], ebx
jne 0x10001e53
mov byte [esi + 0x1a4c], 1
mov dword [ebp - 0x1c], ebx
mov ecx, edi
cmp edi, 0xffffffff
jae 0x10001e76
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x10001e76
cmp dl, 0x23
jne 0x10001e70
cmp byte [ecx + 1], dl
je 0x10001e76
inc ecx
cmp ecx, 0xffffffff
jb 0x10001e60
movss xmm2, dword [esi + 0x1938]
mov eax, dword [esi + 0x1934]
mov dword [ebp - 0x20], eax
movss dword [ebp + 8], xmm2
cmp edi, ecx
jne 0x10001e95
xorps xmm3, xmm3
jmp 0x10001ee9
movss xmm3, dword [0x10066d94]
push ecx
push ecx
push edi
push ecx
lea ecx, [ebp - 0x2c]
mov dword [esp], 0xbf800000
push ecx
mov ecx, eax
call fcn.10050720
mov eax, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x2c]
comiss xmm0, dword [0x10066b98]
movss xmm1, dword [ebp + 8]
divss xmm1, dword [eax]
jbe 0x10001ed1
subss xmm0, xmm1
addss xmm0, dword [0x10066c34]
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.1001a850
movss xmm2, dword [ebp - 0x3c]
lea ecx, [ebp - 0x2c]
addss xmm2, dword [0x10066cdc]
movss xmm0, dword [ebp - 0x38]
mov eax, dword [0x100e1928]
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.10019f60
push 0
lea eax, [ebp + 0xb]
mov edx, ebx
push eax
lea eax, [ebp - 0xd]
push eax
lea ecx, [ebp - 0x44]
call fcn.10027f20
mov ecx, dword fs:[0x2c]
add esp, 0x10
mov edx, dword [0x1006c28c]
mov byte [ebp + 0xb], al
mov edx, dword [ecx + edx*4]
mov ecx, dword [0x100e1dd8]
cmp ecx, dword [edx + 4]
jle 0x10002062
push 0x100e1dd8
call fcn.100516b0
add esp, 4
cmp dword [0x100e1dd8], 0xffffffff
jne 0x10002062
mov dword [ebp - 4], 0
push 0x10
mov dword [0x100e1ddc], 0
mov dword [0x100e1de0], 0
mov dword [0x100e1de4], 0
call fcn.10051714
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x100e1de0], eax
mov dword [0x100e1de8], 0
mov dword [0x100e1dec], 0
mov dword [0x100e1df0], 0
mov byte [ebp - 4], 2
mov ecx, 0x100e1de8
push eax
push 0x10
mov dword [0x100e1df4], 7
mov dword [0x100e1df8], 8
mov dword [0x100e1ddc], 0x3f800000
call fcn.10003230
push 0x10056d70
call fcn.10051a49
push 0x100e1dd8
mov dword [ebp - 4], 0xffffffff
call fcn.1005165f
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, 0x100e1ddc
push eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10003e50
mov ecx, dword [0x100e1de0]
mov esi, ecx
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp esi, ecx
jne 0x100020fc
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], ebx
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x28], 0
push eax
mov ecx, 0x100e1ddc
call fcn.10003500
push dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
mov ecx, 0x100e1ddc
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10003e50
mov esi, dword [0x100e1de0]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp byte [ebp + 0xc], 0
je 0x1000210c
movss xmm1, dword [0x10066c38]
jmp 0x1000210f
xorps xmm1, xmm1
subss xmm1, dword [esi + 0xc]
push 0
push ecx
mov dword [esp], 0
xor ecx, ecx
push 0
mulss xmm1, dword [0x10066bdc]
push edi
addss xmm1, dword [esi + 0xc]
movss dword [esi + 0xc], xmm1
maxss xmm1, dword [0x10066bfc]
call fcn.10018950
mov ebx, dword [ebp - 0x20]
xorps xmm2, xmm2
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
push 0
call fcn.1004e2a0
movd xmm3, dword [0x100e1ea0]
xorps xmm1, xmm1
movss xmm4, dword [0x10066d40]
mov eax, dword [0x100e1928]
cvtdq2ps xmm3, xmm3
movss xmm6, dword [esi + 0xc]
movd xmm5, dword [0x100e1ea4]
movaps xmm0, xmm6
movd xmm7, dword [0x100e1ea8]
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 [0x10066c38]
divss xmm5, xmm4
divss xmm7, xmm4
jbe 0x100021ba
xorps xmm2, xmm2
jmp 0x100021c1
movaps xmm2, xmm0
minss xmm2, xmm3
comiss xmm1, xmm5
movss xmm3, dword [0x10066c0c]
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si ecx, xmm2
jbe 0x100021df
xorps xmm2, xmm2
jmp 0x100021e6
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 0x10002201
xorps xmm2, xmm2
jmp 0x10002208
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 0x10002228
xorps xmm0, xmm0
jmp 0x1000222c
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 [0x10066ccc]
movss dword [ebp - 0x28], xmm0
test esi, 0xff000000
je 0x100022c2
mulss xmm6, dword [0x10066c9c]
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.1004d720
push esi
push dword [ebx + 0x54]
mov ecx, ebx
push dword [ebx + 0x5c]
call fcn.1004d1a0
mov ecx, dword [ebx + 0x58]
test ecx, ecx
jns 0x100022bb
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.10039670
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