Function at 0x1002dab0
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 0x100461a1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x68
mov eax, dword [0x10086040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44], edx
mov edi, ecx
mov esi, dword [0x10087578]
mov eax, dword [esi + 0x3e78]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e78]
mov dword [ebp - 0x40], eax
cmp byte [eax + 0xaf], 0
je 0x1002db1f
xor al, al
jmp 0x1002e149
lea ecx, [esi + 0x3780]
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 0xe4]
mov eax, dword [eax + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.10004030
mov ecx, dword [ebp - 0x40]
add esp, 4
mov dword [ebp - 0x4c], eax
mov ecx, dword [ecx]
cmp dword [ecx + 0x3eac], eax
jne 0x1002db6e
push ecx
push edi
mov edx, 0xb
mov ecx, eax
call fcn.100180f0
mov esi, dword [0x10087578]
add esp, 8
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov ecx, edi
cmp edi, 0xffffffff
jae 0x1002db8e
mov dl, byte [ecx]
test dl, dl
je 0x1002db8e
cmp dl, 0x23
jne 0x1002db88
cmp byte [ecx + 1], dl
je 0x1002db8e
inc ecx
cmp ecx, 0xffffffff
jb 0x1002db78
movss xmm0, dword [esi + 0x3be4]
movss dword [ebp - 0x68], xmm0
cmp edi, ecx
jne 0x1002dba4
xorps xmm5, xmm5
jmp 0x1002dbeb
movss xmm3, dword [0x100810d0]
lea eax, [ebp - 0x60]
push ecx
push ecx
push edi
push ecx
mov ecx, dword [esi + 0x3be0]
movaps xmm2, xmm0
mov dword [esp], 0xbf800000
push eax
call fcn.10026ef0
movss xmm0, dword [ebp - 0x60]
addss xmm0, dword [0x10080fb8]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x68], xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x34]
movss xmm1, dword [0x1008102c]
mov esi, dword [ebp - 0x4c]
mov edx, esi
push 0
movss xmm3, dword [eax + 0xf0]
movss xmm4, dword [eax + 0xf4]
movaps xmm0, xmm3
mov eax, dword [ebp - 0x3c]
addss xmm0, xmm1
movaps xmm2, xmm4
movss dword [ebp - 0x6c], xmm5
addss xmm2, xmm1
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm4
movss dword [ebp - 0x34], xmm3
movss dword [ebp - 0x1c], xmm0
movaps xmm0, xmm5
addss xmm0, xmm1
movss dword [ebp - 0x30], xmm4
movss dword [ebp - 0x18], xmm2
movss dword [ebp - 0x28], xmm2
addss xmm0, dword [eax + 0x54]
lea eax, [ebp - 0x24]
push eax
addss xmm0, dword [0x10080fe8]
addss xmm0, xmm3
movss dword [ebp - 0x2c], xmm0
call fcn.10011050
movss xmm2, dword [ebp - 0x2c]
lea ecx, [ebp - 0x60]
movss xmm0, dword [ebp - 0x28]
subss xmm2, dword [ebp - 0x34]
subss xmm0, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
movss dword [ebp - 0x60], xmm2
movss xmm1, dword [eax + 0x40]
movss dword [ebp - 0x5c], xmm0
call fcn.10010ef0
push 0
lea eax, [ebp - 0x35]
mov edx, esi
push eax
lea eax, [ebp - 0x61]
push eax
lea ecx, [ebp - 0x34]
call fcn.1002c4e0
add esp, 0x14
mov byte [ebp - 0x35], al
test al, al
je 0x1002dcea
mov eax, dword [ebp - 0x44]
cmp byte [eax], 0
sete cl
mov byte [eax], cl
mov ecx, dword [0x10087578]
mov edx, dword [ecx + 0x3ec4]
cmp edx, esi
je 0x1002dcda
test edx, edx
jne 0x1002dce3
mov word [ecx + 0x3ed4], 0x101
or dword [ecx + 0x46f8], 4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1008754c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10087af4]
cmp eax, dword [ecx + 4]
jle 0x1002dd5f
push 0x10087af4
call fcn.100448fe
add esp, 4
cmp dword [0x10087af4], 0xffffffff
jne 0x1002dd5f
xorps xmm0, xmm0
mov dword [ebp - 4], 0
mov ecx, 0x10087af8
movups xmmword [0x10087af8], xmm0
movups xmmword [0x10087b08], xmm0
call fcn.10035070
push 0x100471f0
call fcn.10044c67
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x10087af4
call fcn.100448ad
add esp, 4
mov eax, dword [ebp - 0x4c]
movzx eax, al
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebp - 0x4b]
xor ecx, eax
movzx eax, byte [ebp - 0x4a]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x49]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x10087af8
push eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.10035f40
mov ecx, dword [0x10087afc]
mov esi, ecx
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp esi, ecx
jne 0x1002de00
mov eax, dword [ebp - 0x4c]
mov ecx, 0x10087af8
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x4c], 0
push eax
call fcn.10035a60
push dword [ebp - 0x5c]
lea eax, [ebp - 0x54]
mov ecx, 0x10087af8
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10035f40
mov esi, dword [0x10087afc]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
mov eax, dword [ebp - 0x44]
movss xmm1, dword [0x10080fc0]
cmp byte [eax], 0
je 0x1002de15
movaps xmm2, xmm1
jmp 0x1002de18
xorps xmm2, xmm2
subss xmm2, dword [esi + 0xc]
mov eax, dword [ebp - 0x3c]
xorps xmm0, xmm0
mulss xmm2, dword [0x10080f3c]
addss xmm2, dword [esi + 0xc]
movss dword [esi + 0xc], xmm2
movss xmm2, dword [eax]
comiss xmm0, xmm2
jbe 0x1002de43
xorps xmm1, xmm1
jmp 0x1002de47
minss xmm1, xmm2
mulss xmm1, dword [0x1008109c]
xor dl, dl
push ecx
mov dword [esp], 0x3f333333
push dword [ebp - 0x18]
addss xmm1, dword [0x10080f8c]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
cvttss2si ecx, xmm1
shl ecx, 0x18
or ecx, 0x161212
call fcn.10004c70
mov eax, dword [ebp - 0x3c]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x40]
add esp, 0x14
movss xmm1, dword [eax]
comiss xmm0, xmm1
ja 0x1002dea0
movss xmm0, dword [0x10080fc0]
minss xmm0, xmm1
mulss xmm0, dword [0x1008109c]
sub esp, 0xc
mov ecx, dword [ecx + 0x26c]
addss xmm0, dword [0x10080f8c]
mov dword [esp + 8], 0x3f800000
mov dword [esp], 0x3f333333
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x2c2626
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10023120
movd xmm4, dword [0x10086348]
xorps xmm0, xmm0
movss xmm3, dword [0x1008109c]
cvtdq2ps xmm4, xmm4
mov eax, dword [ebp - 0x3c]
movd xmm5, dword [0x1008634c]
movd xmm6, dword [0x10086350]
divss xmm4, xmm3
movss xmm7, dword [eax]
comiss xmm0, xmm4
mulss xmm7, dword [esi + 0xc]
movss xmm1, dword [0x10080fc0]
cvtdq2ps xmm5, xmm5
cvtdq2ps xmm6, xmm6
divss xmm5, xmm3
divss xmm6, xmm3
jbe 0x1002df38
xorps xmm2, xmm2
jmp 0x1002df3f
movaps xmm2, xmm1
minss xmm2, xmm4
comiss xmm0, xmm5
movss xmm4, dword [0x10080f8c]
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si edx, xmm2
jbe 0x1002df5d
xorps xmm2, xmm2
jmp 0x1002df64
movaps xmm2, xmm1
minss xmm2, xmm5
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 8
or edx, eax
comiss xmm0, xmm6
jbe 0x1002df7f
xorps xmm2, xmm2
jmp 0x1002df86
movaps xmm2, xmm1
minss xmm2, xmm6
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 0x10
or edx, eax
comiss xmm0, xmm7
jbe 0x1002dfa1
xorps xmm1, xmm1
jmp 0x1002dfa5
minss xmm1, xmm7
mulss xmm1, xmm3
push ecx
mov dword [esp], 0x3f333333
push dword [ebp - 0x18]
addss xmm1, xmm4
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
cvttss2si ecx, xmm1
shl ecx, 0x18
or ecx, edx
xor dl, dl
call fcn.10004c70
movss xmm2, dword [ebp - 0x24]
lea eax, [ebp - 0x58]
addss xmm2, dword [ebp - 0x1c]
movss xmm0, dword [esi + 0xc]
add esp, 0x14
movss xmm1, dword [ebp - 0x20]
mulss xmm0, dword [0x10081000]
mulss xmm2, dword [0x10080f8c]
push 0
addss xmm1, dword [ebp - 0x18]
push eax
addss xmm0, xmm2
subss xmm2, dword [0x10080ff8]
lea eax, [ebp - 0x48]
mulss xmm1, dword [0x10080f8c]
push eax
mov eax, dword [ebp - 0x40]
movss dword [ebp - 0x58], xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x5c], xmm1
addss xmm0, dword [0x10081008]
subss xmm1, dword [0x10080ff8]
mov ecx, dword [eax + 0x26c]
movss dword [ebp - 0x48], xmm2
movss dword [ebp - 0x54], xmm0
movss dword [ebp - 0x44], xmm1
call fcn.10020ed0
mov eax, dword [ebp - 0x3c]
xorps xmm0, xmm0
movss xmm1, dword [esi + 0xc]
mulss xmm1, dword [eax]
comiss xmm0, xmm1
ja 0x1002e075
movss xmm0, dword [0x10080fc0]
minss xmm0, xmm1
mulss xmm0, dword [0x1008109c]
mov esi, dword [ebp - 0x40]
movss xmm1, dword [ebp - 0x48]
movss xmm3, dword [0x10081008]
addss xmm0, dword [0x10080f8c]
mov ecx, dword [esi + 0x26c]
movss dword [ebp - 0x58], xmm1
movss xmm1, dword [ebp - 0x44]
movss dword [ebp - 0x54], xmm1
push dword [ebp - 0x54]
cvttss2si edx, xmm0
push dword [ebp - 0x58]
shl edx, 0x18
call fcn.100277f0
mov ecx, dword [esi + 0x26c]
add esp, 8
mov edx, dword [ecx + 0x3c]
sub edx, 1
mov dword [ecx + 0x3c], edx
jne 0x1002e0d8
mov eax, dword [ecx + 0x2c]
add eax, 0x18
jmp 0x1002e0e3
mov eax, dword [ecx + 0x44]
shl edx, 4
add eax, 0xfffffff0
add eax, edx
movups xmm0, xmmword [eax]
movups xmmword [ecx + 0x60], xmm0
call fcn.10020ce0
mov eax, dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x68]
mulss xmm1, dword [0x10080f8c]
addss xmm0, dword [eax + 0x54]
addss xmm0, dword [0x10080fe8]
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, xmm1
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [ebp - 0x6c]
comiss xmm0, dword [0x10080f18]
jbe 0x1002e146
push 1
push dword [ebp - 0x44]
xor edx, edx
mov ecx, edi
push dword [ebp - 0x48]
call fcn.10004860
add esp, 0xc
mov al, byte [ebp - 0x35]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10044743
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret