Function at 0x4301b0
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 0x483dd1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x70
mov eax, dword [0x4a5080]
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 - 0x54], edx
mov edi, ecx
mov dword [ebp - 0x7c], edi
mov esi, dword [0x4ac6b0]
mov eax, dword [esi + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
mov dword [ebp - 0x60], eax
cmp byte [eax + 0xaf], 0
je 0x430222
xor al, al
jmp 0x430923
lea ecx, [esi + 0x37a4]
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov ecx, dword [eax + 0xe4]
mov eax, dword [eax + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.00406c10
mov ecx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x64], eax
mov ecx, dword [ecx]
cmp dword [ecx + 0x3e7c], eax
jne 0x430271
push ecx
push edi
mov edx, 0xb
mov ecx, eax
call fcn.0041b6c0
mov esi, dword [0x4ac6b0]
add esp, 8
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x24], eax
mov ecx, edi
cmp edi, 0xffffffff
jae 0x430296
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x430296
cmp dl, 0x23
jne 0x430290
cmp byte [ecx + 1], dl
je 0x430296
inc ecx
cmp ecx, 0xffffffff
jb 0x430280
movss xmm2, dword [esi + 0x3bd4]
movss dword [ebp - 0x70], xmm2
cmp edi, ecx
jne 0x4302ac
xorps xmm5, xmm5
jmp 0x4302f0
movss xmm3, dword [0x497364]
lea eax, [ebp - 0x74]
push ecx
push ecx
push edi
push ecx
mov ecx, dword [esi + 0x3bd0]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x74]
addss xmm0, dword [0x497108]
movss xmm2, dword [ebp - 0x70]
movss dword [ebp - 0x70], xmm2
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mov eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x48]
movss xmm1, dword [0x4972e0]
mov edi, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x64]
mov edx, esi
movss xmm3, dword [eax + 0xf0]
movss xmm4, dword [eax + 0xf4]
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [ebp - 0x78], xmm5
movaps xmm2, xmm4
movss dword [ebp - 0x38], xmm3
addss xmm2, xmm1
movss dword [ebp - 0x34], xmm4
lea eax, [ebp - 0x38]
movss dword [ebp - 0x48], xmm3
push 0
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm5
addss xmm0, xmm1
movss dword [ebp - 0x44], xmm4
push eax
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x3c], xmm2
addss xmm0, dword [edi + 0x54]
addss xmm0, dword [0x497144]
addss xmm0, xmm3
movss dword [ebp - 0x40], xmm0
call fcn.00414900
movss xmm2, dword [ebp - 0x40]
lea ecx, [ebp - 0x20]
movss xmm0, dword [ebp - 0x3c]
subss xmm2, dword [ebp - 0x48]
subss xmm0, dword [ebp - 0x44]
movss xmm1, dword [edi + 0x40]
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x1c], xmm0
call fcn.004147a0
push 0
lea eax, [ebp - 0x49]
mov edx, esi
push eax
lea eax, [ebp - 0x59]
push eax
lea ecx, [ebp - 0x48]
call fcn.0042efe0
mov edi, dword [ebp - 0x54]
add esp, 0x14
mov byte [ebp - 0x49], al
test al, al
je 0x4303ec
cmp byte [edi], 0
sete cl
mov byte [edi], cl
mov ecx, dword [0x4ac6b0]
mov edx, dword [ecx + 0x3e94]
cmp edx, esi
je 0x4303dc
test edx, edx
jne 0x4303e5
mov word [ecx + 0x3ea4], 0x101
or dword [ecx + 0x46c4], 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4ace08]
cmp eax, dword [ecx + 4]
jle 0x43045a
push 0x4ace08
call fcn.00481cdd
add esp, 4
cmp dword [0x4ace08], 0xffffffff
jne 0x43045a
xorps xmm0, xmm0
mov dword [ebp - 4], 0
mov ecx, 0x4ace0c
movups xmmword [0x4ace0c], xmm0
movups xmmword [0x4ace1c], xmm0
call fcn.004035d0
push 0x488620
call fcn.00481fad
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x4ace08
call fcn.00481c8c
add esp, 4
mov edx, dword [ebp - 0x64]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0x62]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x61]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x4ace0c
push eax
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004046b0
mov esi, dword [0x4ace10]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp esi, dword [0x4ace10]
jne 0x4304fc
mov esi, dword [ebp - 0x64]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x20], esi
push eax
mov ecx, 0x4ace0c
mov dword [ebp - 0x1c], 0
call fcn.00403c00
push dword [ebp - 0x54]
lea eax, [ebp - 0x24]
mov ecx, 0x4ace0c
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004046b0
mov esi, dword [0x4ace10]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp byte [edi], 0
xorps xmm1, xmm1
movss xmm2, dword [0x497110]
je 0x430511
movaps xmm3, xmm2
jmp 0x430514
xorps xmm3, xmm3
cmp byte [ebp - 0x59], 0
movaps xmm7, xmm2
subss xmm3, dword [esi + 0xc]
mulss xmm3, dword [0x4970b4]
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
je 0x43054e
movss xmm0, dword [0x4970b8]
movss xmm5, dword [0x4970b0]
movss xmm6, dword [0x4970c4]
jmp 0x430566
movss xmm0, dword [0x4970ac]
movss xmm5, dword [0x4970a4]
movss xmm6, dword [0x4970bc]
comiss xmm1, xmm0
jbe 0x430570
xorps xmm3, xmm3
jmp 0x430577
movaps xmm3, xmm2
minss xmm3, xmm0
comiss xmm1, xmm5
movss xmm4, dword [0x497334]
movss xmm0, dword [0x4970e4]
mulss xmm3, xmm4
addss xmm3, xmm0
cvttss2si edx, xmm3
jbe 0x43059d
xorps xmm3, xmm3
jmp 0x4305a4
movaps xmm3, xmm2
minss xmm3, xmm5
mulss xmm3, xmm4
addss xmm3, xmm0
cvttss2si eax, xmm3
shl eax, 8
or edx, eax
comiss xmm1, xmm6
jbe 0x4305bf
xorps xmm3, xmm3
jmp 0x4305c6
movaps xmm3, xmm2
minss xmm3, xmm6
mulss xmm3, xmm4
addss xmm3, xmm0
cvttss2si eax, xmm3
shl eax, 0x10
or edx, eax
comiss xmm1, xmm7
jbe 0x4305e1
xorps xmm2, xmm2
jmp 0x4305e5
minss xmm2, xmm7
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [0x4ac6b0]
mulss xmm2, xmm4
push 0
mov ecx, dword [eax + 0x3e48]
addss xmm2, xmm0
push ecx
mov dword [esp], 0x40000000
mov ecx, dword [ecx + 0x264]
cvttss2si eax, xmm2
shl eax, 0x18
or eax, edx
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00427370
mov eax, dword [ebp - 0x6c]
xorps xmm1, xmm1
mov ecx, dword [ebp - 0x60]
movss xmm7, dword [ebp - 0x2c]
movss xmm6, dword [ebp - 0x30]
movss xmm3, dword [eax]
mulss xmm3, dword [0x4970a0]
mov edi, dword [ecx + 0x264]
movss xmm4, dword [ebp - 0x34]
movss xmm5, dword [ebp - 0x38]
comiss xmm1, xmm3
movss xmm2, dword [0x497110]
ja 0x430741
movaps xmm0, xmm2
minss xmm0, xmm3
movss xmm3, dword [0x4970e4]
mulss xmm0, dword [0x497334]
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
mov ecx, eax
or ecx, 0xffffff
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x430749
test byte [edi + 0x24], 1
lea eax, [ebp - 0x20]
push 0
push eax
lea eax, [ebp - 0x58]
movaps xmm0, xmm6
mov ecx, edi
push eax
je 0x4306d3
subss xmm0, xmm3
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm7
subss xmm0, xmm3
jmp 0x4306eb
subss xmm0, dword [0x4970e0]
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm7
subss xmm0, dword [0x4970e0]
movss dword [ebp - 0x1c], xmm0
movaps xmm0, xmm5
addss xmm0, xmm3
movss dword [ebp - 0x58], xmm0
movaps xmm0, xmm4
addss xmm0, xmm3
movss xmm3, dword [0x497144]
movss dword [ebp - 0x54], xmm0
call fcn.00426cc0
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push dword [ebp - 0x24]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.00425300
movss xmm2, dword [0x497110]
xorps xmm1, xmm1
mov dword [edi + 0x54], 0
movss xmm3, dword [0x4970e4]
movd xmm5, dword [0x4a6178]
movss xmm0, dword [0x497334]
cvtdq2ps xmm5, xmm5
mov edi, dword [ebp - 0x6c]
movd xmm6, dword [0x4a617c]
movd xmm7, dword [0x4a6180]
movss xmm4, dword [esi + 0xc]
mulss xmm4, dword [edi]
divss xmm5, xmm0
cvtdq2ps xmm6, xmm6
comiss xmm1, xmm5
cvtdq2ps xmm7, xmm7
divss xmm6, xmm0
divss xmm7, xmm0
movss dword [ebp - 0x24], xmm4
jbe 0x430799
xorps xmm4, xmm4
jmp 0x4307a0
movaps xmm4, xmm2
minss xmm4, xmm5
comiss xmm1, xmm6
mulss xmm4, xmm0
addss xmm4, xmm3
cvttss2si edx, xmm4
jbe 0x4307b6
xorps xmm4, xmm4
jmp 0x4307bd
movaps xmm4, xmm2
minss xmm4, xmm6
mulss xmm4, xmm0
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 8
or edx, eax
comiss xmm1, xmm7
jbe 0x4307d8
xorps xmm4, xmm4
jmp 0x4307df
movaps xmm4, xmm2
minss xmm4, xmm7
mulss xmm4, xmm0
addss xmm4, xmm3
cvttss2si eax, xmm4
movss xmm4, dword [ebp - 0x24]
shl eax, 0x10
or edx, eax
comiss xmm1, xmm4
jbe 0x4307ff
xorps xmm2, xmm2
jmp 0x430803
minss xmm2, xmm4
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [0x4ac6b0]
mulss xmm2, xmm0
push 0
mov ecx, dword [eax + 0x3e48]
addss xmm2, xmm3
push ecx
mov dword [esp], 0x40000000
mov ecx, dword [ecx + 0x264]
cvttss2si eax, xmm2
shl eax, 0x18
or eax, edx
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00427370
movss xmm1, dword [ebp - 0x34]
mov ecx, 0x12
addss xmm1, dword [ebp - 0x2c]
movss xmm3, dword [ebp - 0x38]
addss xmm3, dword [ebp - 0x30]
mulss xmm1, dword [0x4970e4]
mulss xmm3, dword [0x4970e4]
movaps xmm2, xmm1
movss dword [ebp - 0x24], xmm1
subss xmm2, dword [0x4971e0]
subss xmm3, dword [0x4971e0]
movss xmm1, dword [esi + 0xc]
movss dword [ebp - 0x54], xmm2
push dword [ebp - 0x54]
movss dword [ebp - 0x58], xmm3
push dword [ebp - 0x58]
call fcn.004071b0
movss xmm2, dword [0x4972cc]
mov edx, eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x264]
call fcn.0042bd00
movss xmm0, dword [ebp - 0x30]
add esp, 8
addss xmm0, dword [edi + 0x54]
movss xmm4, dword [ebp - 0x24]
addss xmm0, dword [0x497144]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x70]
mulss xmm0, dword [0x4970e4]
subss xmm4, xmm0
movss xmm0, dword [ebp - 0x78]
comiss xmm0, dword [0x497060]
movss dword [ebp - 0x54], xmm4
jbe 0x430920
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x7c]
xor edx, edx
push dword [ebp - 0x58]
push 1
call fcn.004074e0
add esp, 0xc
mov al, byte [ebp - 0x49]
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.00481c53
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret