Function at 0x431c10
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 0x483e51
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc8
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 - 0xa8], edx
mov dword [ebp - 0xcc], ecx
mov esi, dword [0x4ac6b0]
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
mov dword [ebp - 0xa4], eax
cmp byte [eax + 0xaf], 0
je 0x431c98
xor al, al
jmp 0x432d1f
mov ecx, dword [eax + 0xe4]
xor edx, edx
mov eax, dword [eax + 0xec]
mov dword [ebp - 0xb4], esi
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0xcc]
call fcn.00406c10
mov edx, dword [ebp - 0xa4]
add esp, 4
mov dword [ebp - 0xc4], eax
mov ecx, dword [edx]
cmp dword [ecx + 0x3e7c], eax
jne 0x431cf6
push ecx
push dword [ebp - 0xcc]
mov edx, 0xb
mov ecx, eax
call fcn.0041b6c0
mov esi, dword [0x4ac6b0]
add esp, 8
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0x3e48]
movss xmm0, dword [eax + 0x1c]
subss xmm0, dword [0x4972ec]
mov eax, dword [ebp - 0xcc]
mov ecx, eax
movss dword [ebp - 0xb8], xmm0
cmp eax, 0xffffffff
jae 0x431d3a
mov dl, byte [ecx]
test dl, dl
je 0x431d3a
cmp dl, 0x23
jne 0x431d34
cmp byte [ecx + 1], dl
je 0x431d3a
inc ecx
cmp ecx, 0xffffffff
jb 0x431d24
movss xmm5, dword [esi + 0x3bd4]
cmp eax, ecx
je 0x431d99
movss xmm3, dword [0x497364]
movaps xmm2, xmm5
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x497108]
movss xmm5, dword [ebp - 0x8c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xd8], xmm0
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x68]
mov esi, dword [ebp - 0xc4]
movaps xmm0, xmm5
addss xmm0, dword [0x4972e0]
addss xmm5, dword [0x4971f8]
movss xmm1, dword [eax + 0xf4]
mov edx, esi
movss xmm4, dword [eax + 0xf0]
movaps xmm2, xmm1
movaps xmm3, xmm4
movss dword [ebp - 0x68], xmm4
addss xmm3, dword [ebp - 0xb8]
addss xmm2, xmm0
movaps xmm0, xmm4
addss xmm0, dword [0x497060]
addss xmm1, xmm5
push 0
movss dword [ebp - 0x80], xmm3
movss dword [ebp - 0x7c], xmm2
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [eax + 0xf4]
lea eax, [ebp - 0x88]
push eax
movss dword [ebp - 0x84], xmm1
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x60], xmm3
movss dword [ebp - 0x5c], xmm2
call fcn.00414900
movss xmm2, dword [ebp - 0x60]
lea ecx, [ebp - 0x90]
movss xmm0, dword [ebp - 0x5c]
add esp, 8
subss xmm2, dword [ebp - 0x68]
subss xmm0, dword [ebp - 0x64]
mov eax, dword [ebp - 0xb4]
movss dword [ebp - 0x90], xmm2
movss xmm1, dword [eax + 0x37e4]
movss dword [ebp - 0x8c], xmm0
call fcn.004147a0
test edi, edi
jne 0x431e8a
mov eax, dword [ebp - 0xa8]
shl eax, 4
mov edi, dword [eax + 0x494f38]
jmp 0x431f52
cmp dword [ebp - 0xa8], 4
jne 0x431f52
mov ecx, 0x4908f0
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x431ec0
test dl, dl
je 0x431ebc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x431ec0
add eax, 2
add ecx, 2
test dl, dl
jne 0x431ea0
xor eax, eax
jmp 0x431ec5
sbb eax, eax
or eax, 1
test eax, eax
je 0x431f52
mov al, byte [edi]
cmp al, 0x25
jne 0x431ef2
cmp byte [edi + 1], 0x2e
jne 0x431ef2
cmp byte [edi + 2], 0x30
jne 0x431ef2
cmp byte [edi + 3], 0x66
jne 0x431ef2
cmp byte [edi + 4], 0
jne 0x431ef2
mov edi, 0x4908f0
jmp 0x431f52
mov esi, edi
test al, al
je 0x431f0a
cmp al, 0x25
jne 0x431f02
cmp byte [esi + 1], al
jne 0x431f0a
inc esi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x431ef8
mov ecx, esi
call fcn.00432d40
cmp eax, esi
jbe 0x431f4c
cmp byte [eax - 1], 0x66
jne 0x431f4c
cmp esi, edi
jne 0x431f2b
cmp byte [eax], 0
jne 0x431f2b
mov edi, 0x4908f0
jmp 0x431f4c
push eax
push edi
sub esi, edi
lea eax, [ebp - 0xb8]
push esi
push str._.s__d_s
push 0
push eax
call fcn.00406b60
mov edi, dword [ebp - 0xb8]
add esp, 0x18
mov esi, dword [ebp - 0xc4]
mov edx, esi
lea ecx, [ebp - 0x88]
call fcn.00409b40
mov byte [ebp - 0xad], al
test al, al
je 0x431faa
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x3700], 0
je 0x431faa
mov edx, dword [ebp - 0xa4]
mov ecx, esi
call fcn.004098e0
mov edx, dword [ebp - 0xa4]
mov ecx, esi
call fcn.00416170
mov ecx, dword [ebp - 0xa4]
call fcn.00411f10
mov eax, dword [ebp - 0xb4]
or dword [eax + 0x4690], 3
lea eax, [ebp - 0x78]
xorps xmm0, xmm0
push eax
push ecx
push edi
push dword [ebx + 0x10]
mov edx, esi
lea ecx, [ebp - 0x88]
push dword [ebx + 0xc]
movups xmmword [ebp - 0x78], xmm0
push dword [ebp - 0xbc]
push dword [ebp - 0xa8]
call fcn.004319e0
add esp, 0x1c
mov byte [ebp - 0xae], al
test al, al
je 0x432007
mov ecx, dword [0x4ac6b0]
mov edx, dword [ecx + 0x3e94]
cmp edx, esi
je 0x431ff7
test edx, edx
jne 0x432000
mov word [ecx + 0x3ea4], 0x101
or dword [ecx + 0x46c4], 4
push edi
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x58]
push dword [ebp - 0xa8]
call fcn.004318d0
lea ecx, [ebp - 0x58]
add esp, 0xc
add eax, ecx
mov dword [ebp - 0xb8], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4ace2c]
cmp eax, dword [ecx + 4]
jle 0x432098
push 0x4ace2c
call fcn.00481cdd
add esp, 4
cmp dword [0x4ace2c], 0xffffffff
jne 0x432098
xorps xmm0, xmm0
mov dword [ebp - 4], 0
mov ecx, 0x4acde8
movups xmmword [0x4acde8], xmm0
movups xmmword [0x4acdf8], xmm0
call fcn.004035d0
push 0x488640
call fcn.00481fad
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x4ace2c
call fcn.00481c8c
add esp, 4
mov edx, dword [ebp - 0xc4]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0xc2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0xc1]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [ebp - 0x9c]
imul edi, ecx, 0x1000193
mov ecx, 0x4acde8
push edi
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.004046b0
mov esi, dword [0x4acdec]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp esi, dword [0x4acdec]
jne 0x432159
mov eax, dword [ebp - 0xc4]
mov ecx, 0x4acde8
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x8c], 0
push eax
call fcn.00403c00
push edi
lea eax, [ebp - 0x9c]
mov ecx, 0x4acde8
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.004046b0
mov esi, dword [0x4acdec]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp byte [ebp - 0xad], 0
mov edi, dword [ebp - 0xa4]
movss xmm1, dword [ebp - 0x70]
movss xmm0, dword [ebp - 0x80]
subss xmm0, dword [ebp - 0x88]
subss xmm1, dword [edi + 0xf0]
subss xmm1, dword [ebp - 0x88]
addss xmm1, dword [edi + 0x14]
addss xmm1, dword [0x4972dc]
divss xmm1, xmm0
mulss xmm1, xmm0
subss xmm1, dword [esi + 0xc]
mulss xmm1, dword [0x4970c0]
addss xmm1, dword [esi + 0xc]
movss dword [esi + 0xc], xmm1
jne 0x4321ea
mov eax, dword [0x4ac6b0]
mov ecx, dword [eax + 0x3e94]
test ecx, ecx
je 0x4321cd
cmp ecx, dword [eax + 0x46bc]
je 0x4321ea
movaps xmm0, xmmword [0x497560]
lea ecx, [ebp - 0x8c]
movss xmm1, dword [0x4970ac]
mov dword [ebp - 0x9c], ecx
jmp 0x432205
movaps xmm0, xmmword [0x497570]
lea eax, [ebp - 0x8c]
movss xmm1, dword [0x4970b8]
mov dword [ebp - 0x9c], eax
movss xmm5, dword [0x497110]
lea eax, [ebp - 0x94]
xorps xmm4, xmm4
lea edx, [ebp - 0x90]
comiss xmm4, xmm1
movups xmmword [ebp - 0x98], xmm0
jbe 0x43222d
xorps xmm0, xmm0
jmp 0x432234
movaps xmm0, xmm5
minss xmm0, xmm1
movss xmm3, dword [0x497334]
movss xmm1, dword [0x4970e4]
movss xmm2, dword [eax]
comiss xmm4, xmm2
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si ecx, xmm0
jbe 0x43225e
xorps xmm0, xmm0
jmp 0x432265
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm2, dword [edx]
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm4, xmm2
jbe 0x432284
xorps xmm0, xmm0
jmp 0x43228b
movaps xmm0, xmm5
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
mov eax, dword [ebp - 0x9c]
movss xmm2, dword [eax]
comiss xmm4, xmm2
jbe 0x4322b0
xorps xmm0, xmm0
jmp 0x4322b7
movaps xmm0, xmm5
minss xmm0, xmm2
mulss xmm0, xmm3
push 0
push ecx
mov dword [esp], 0x40000000
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x264]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00427370
mov eax, dword [ebp - 0xb4]
xorps xmm7, xmm7
mov ecx, dword [edi + 0x264]
movss xmm2, dword [ebp - 0x84]
movss xmm3, dword [0x4970e0]
movss xmm1, dword [eax + 0x37a4]
mulss xmm1, dword [0x4970a0]
mov dword [ebp - 0x9c], ecx
movss xmm5, dword [0x497334]
movss xmm4, dword [0x4970e4]
comiss xmm7, xmm1
ja 0x43242a
movss xmm0, dword [0x497110]
minss xmm0, xmm1
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x18
mov edx, eax
or edx, 0xff00
mov dword [ebp - 0xbc], edx
test eax, eax
je 0x43242a
test byte [ecx + 0x24], 1
lea eax, [ebp - 0x90]
movss xmm0, dword [ebp - 0x80]
push 0
push eax
lea eax, [ebp - 0xac]
push eax
je 0x43239a
subss xmm0, xmm4
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x7c]
subss xmm0, xmm4
jmp 0x4323af
subss xmm0, xmm3
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x7c]
subss xmm0, xmm3
movss xmm3, dword [0x497144]
movss dword [ebp - 0x8c], xmm0
movss xmm0, dword [ebp - 0x88]
addss xmm0, xmm4
movss dword [ebp - 0xac], xmm0
movaps xmm0, xmm2
addss xmm0, xmm4
movss dword [ebp - 0xa8], xmm0
call fcn.00426cc0
mov eax, dword [ebp - 0x9c]
push ecx
mov dword [esp], 0x3f800000
mov ecx, eax
push 1
push dword [ebp - 0xbc]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.00425300
mov eax, dword [ebp - 0x9c]
xorps xmm7, xmm7
movss xmm4, dword [0x4970e4]
movss xmm5, dword [0x497334]
mov dword [eax + 0x54], 0
movd xmm1, dword [0x4a6178]
cvtdq2ps xmm1, xmm1
mov ecx, dword [ebp - 0xb4]
movd xmm2, dword [0x4a617c]
movd xmm3, dword [0x4a6180]
divss xmm1, xmm5
movss xmm6, dword [ecx + 0x37a4]
comiss xmm7, xmm1
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm3, xmm3
divss xmm2, xmm5
divss xmm3, xmm5
jbe 0x43246f
xorps xmm0, xmm0
jmp 0x43247b
movss xmm0, dword [0x497110]
minss xmm0, xmm1
comiss xmm7, xmm2
movss xmm1, dword [0x497110]
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x432499
xorps xmm0, xmm0
jmp 0x4324a0
movaps xmm0, xmm1
minss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm3
jbe 0x4324bb
xorps xmm0, xmm0
jmp 0x4324c2
movaps xmm0, xmm1
minss xmm0, xmm3
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm6
jbe 0x4324dd
xorps xmm1, xmm1
jmp 0x4324e1
minss xmm1, xmm6
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [esi + 0xc]
mulss xmm1, xmm5
push 0
push ecx
mov dword [esp], 0x40000000
addss xmm1, xmm4
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x8c], xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x264]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00427370
push dword [ebp - 0x64]
mov ecx, dword [ebp - 0xcc]
xor edx, edx
push dword [ebp - 0x68]
push 1
call fcn.004074e0
mov eax, dword [0x4ac6b0]
add esp, 0xc
mov ecx, dword [eax + 0x3e94]
test ecx, ecx
je 0x432ce2
cmp ecx, dword [eax + 0x46bc]
jne 0x432ce2
mov eax, dword [eax + 0x47c4]
mov edx, 1
push str.Foreground
mov ecx, dword [eax]
call fcn.00409e10
movss xmm1, dword [0x497110]
add esp, 4
mov ecx, 2
mov dword [ebp - 0xa8], eax
call fcn.004071b0
mov edi, dword [0x4ac6b0]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xbc], eax
mov eax, ecx
cmp eax, 0xffffffff
jae 0x4325cd
mov dl, byte [ecx]
test dl, dl
je 0x4325cd
cmp dl, 0x23
jne 0x4325c7
cmp byte [ecx + 1], dl
je 0x4325cd
inc ecx
cmp ecx, 0xffffffff
jb 0x4325b7
lea eax, [ebp - 0x58]
cmp eax, ecx
jne 0x4325d9
xorps xmm1, xmm1
jmp 0x432634
movss xmm3, dword [0x497364]
lea eax, [ebp - 0x58]
movss xmm2, dword [edi + 0x3bd4]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x497108]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x8c], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x88]
lea ecx, [ebp - 0x58]
addss xmm0, dword [esi + 0xc]
mulss xmm1, dword [0x4970e4]
mov eax, ecx
addss xmm0, xmm1
addss xmm0, dword [0x4971e4]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0x84]
subss xmm0, dword [0x4971f8]
movss dword [ebp - 0xcc], xmm0
cmp eax, 0xffffffff
jae 0x432696
nop
mov dl, byte [ecx]
test dl, dl
je 0x432696
cmp dl, 0x23
jne 0x432690
cmp byte [ecx + 1], dl
je 0x432696
inc ecx
cmp ecx, 0xffffffff
jb 0x432680
movss xmm0, dword [edi + 0x3bd4]
lea eax, [ebp - 0x58]
cmp eax, ecx
je 0x4326f8
movss xmm3, dword [0x497364]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x497108]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [ebp - 0x8c]
movss xmm1, dword [ebp - 0x84]
lea ecx, [ebp - 0x58]
subss xmm1, dword [0x4971f8]
mov eax, ecx
subss xmm1, xmm0
movss dword [ebp - 0x9c], xmm1
cmp eax, 0xffffffff
jae 0x432736
nop
mov dl, byte [ecx]
test dl, dl
je 0x432736
cmp dl, 0x23
jne 0x432730
cmp byte [ecx + 1], dl
je 0x432736
inc ecx
cmp ecx, 0xffffffff
jb 0x432720
lea eax, [ebp - 0x58]
cmp eax, ecx
jne 0x432742
xorps xmm1, xmm1
jmp 0x43279d
movss xmm3, dword [0x497364]
lea eax, [ebp - 0x58]
movss xmm2, dword [edi + 0x3bd4]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x497108]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x8c], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x88]
lea eax, [ebp - 0xd0]
addss xmm0, dword [esi + 0xc]
mulss xmm1, dword [0x4970e4]
push 0
push ecx
mov ecx, dword [ebp - 0xa8]
subss xmm0, xmm1
mov dword [esp], 0x40000000
push dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0x90]
subss xmm0, dword [0x4971f8]
push eax
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x9c]
movss dword [ebp - 0x8c], xmm0
call fcn.00427370
mov eax, dword [0x4ac6b0]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x47c4]
mov ecx, dword [eax]
call fcn.00409e10
mov dword [ebp - 0xa4], eax
xorps xmm2, xmm2
mov eax, dword [ebp - 0xb4]
add esp, 4
movss xmm1, dword [eax + 0x37a4]
mulss xmm1, dword [0x4970a0]
comiss xmm2, xmm1
jbe 0x432847
xorps xmm0, xmm0
jmp 0x432853
movss xmm0, dword [0x497110]
minss xmm0, xmm1
mulss xmm0, dword [0x497334]
lea ecx, [ebp - 0x58]
mov edi, dword [0x4ac6b0]
addss xmm0, dword [0x4970e4]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xffffff
mov dword [ebp - 0xa8], eax
mov eax, ecx
cmp eax, 0xffffffff
jae 0x43289b
mov dl, byte [ecx]
test dl, dl
je 0x43289b
cmp dl, 0x23
jne 0x432895
cmp byte [ecx + 1], dl
je 0x43289b
inc ecx
cmp ecx, 0xffffffff
jb 0x432885
lea eax, [ebp - 0x58]
cmp eax, ecx
jne 0x4328a7
movaps xmm1, xmm2
jmp 0x432902
movss xmm3, dword [0x497364]
lea eax, [ebp - 0x58]
movss xmm2, dword [edi + 0x3bd4]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x497108]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x8c], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x88]
lea ecx, [ebp - 0x58]
addss xmm0, dword [esi + 0xc]
mulss xmm1, dword [0x4970e4]
mov eax, ecx
addss xmm0, xmm1
addss xmm0, dword [0x4971e4]
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [ebp - 0x84]
subss xmm0, dword [0x4971f8]
movss dword [ebp - 0xbc], xmm0
cmp eax, 0xffffffff
jae 0x432966
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x432966
cmp dl, 0x23
jne 0x432960
cmp byte [ecx + 1], dl
je 0x432966
inc ecx
cmp ecx, 0xffffffff
jb 0x432950
movss xmm0, dword [edi + 0x3bd4]
lea eax, [ebp - 0x58]
cmp eax, ecx
je 0x4329a5
movss xmm3, dword [0x497364]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x8c]
movss xmm2, dword [ebp - 0x84]
lea ecx, [ebp - 0x58]
subss xmm2, dword [0x4971f8]
mov eax, ecx
subss xmm2, xmm0
movss dword [ebp - 0xcc], xmm2
cmp eax, 0xffffffff
jae 0x4329e6
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x4329e6
cmp dl, 0x23
jne 0x4329e0
cmp byte [ecx + 1], dl
je 0x4329e6
inc ecx
cmp ecx, 0xffffffff
jb 0x4329d0
lea eax, [ebp - 0x58]
cmp eax, ecx
jne 0x4329f2
xorps xmm1, xmm1
jmp 0x432a55
movss xmm3, dword [0x497364]
lea eax, [ebp - 0x58]
movss xmm2, dword [edi + 0x3bd4]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x497108]
movss xmm2, dword [ebp - 0xcc]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x8c], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
test dword [ebp - 0xa8], 0xff000000
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [esi + 0xc]
movss xmm3, dword [0x4970e4]
mulss xmm1, xmm3
subss xmm0, xmm1
subss xmm0, dword [0x4971f8]
je 0x432b41
mov edi, dword [ebp - 0xa4]
addss xmm2, xmm3
movss xmm1, dword [ebp - 0x9c]
addss xmm0, xmm3
push 0
lea eax, [ebp - 0x90]
mov ecx, edi
test byte [edi + 0x24], 1
push eax
lea eax, [ebp - 0xa0]
movss dword [ebp - 0xa0], xmm0
movss dword [ebp - 0x9c], xmm2
push eax
je 0x432ae2
subss xmm1, xmm3
movss dword [ebp - 0x90], xmm1
movss xmm1, dword [ebp - 0xbc]
subss xmm1, xmm3
jmp 0x432b02
subss xmm1, dword [0x4970e0]
movss dword [ebp - 0x90], xmm1
movss xmm1, dword [ebp - 0xbc]
subss xmm1, dword [0x4970e0]
movss xmm3, dword [0x497144]
movss dword [ebp - 0x8c], xmm1
call fcn.00426cc0
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push dword [ebp - 0xa8]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.00425300
mov dword [edi + 0x54], 0
mov edi, dword [0x4ac6b0]
mov eax, dword [edi + 0x47c4]
mov edx, 1
push str.Foreground
mov ecx, dword [eax]
call fcn.00409e10
movss xmm1, dword [0x497110]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xa8], eax
call fcn.004071b0
mov edi, dword [0x4ac6b0]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xbc], eax
mov eax, ecx
cmp eax, 0xffffffff
jae 0x432b9c
mov dl, byte [ecx]
test dl, dl
je 0x432b9c
cmp dl, 0x23
jne 0x432b96
cmp byte [ecx + 1], dl
je 0x432b9c
inc ecx
cmp ecx, 0xffffffff
jb 0x432b86
movss xmm0, dword [edi + 0x3bd4]
lea eax, [ebp - 0x58]
cmp eax, ecx
je 0x432bdb
movss xmm3, dword [0x497364]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x8c]
movss xmm1, dword [ebp - 0x84]
lea ecx, [ebp - 0x58]
subss xmm1, dword [0x4971f8]
mov eax, ecx
subss xmm1, xmm0
movss dword [ebp - 0x9c], xmm1
cmp eax, 0xffffffff
jae 0x432c17
mov dl, byte [ecx]
test dl, dl
je 0x432c17
cmp dl, 0x23
jne 0x432c11
cmp byte [ecx + 1], dl
je 0x432c17
inc ecx
cmp ecx, 0xffffffff
jb 0x432c01
lea eax, [ebp - 0x58]
cmp eax, ecx
jne 0x432c23
xorps xmm1, xmm1
jmp 0x432c7e
movss xmm3, dword [0x497364]
lea eax, [ebp - 0x58]
movss xmm2, dword [edi + 0x3bd4]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bd0]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.0042b0f0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x497108]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x8c], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x88]
lea eax, [ebp - 0x58]
addss xmm2, dword [esi + 0xc]
mulss xmm1, dword [0x4970e4]
push 0
push ecx
mov ecx, dword [ebp - 0xa8]
mov dword [esp], 0
subss xmm2, xmm1
push dword [ebp - 0xb8]
movss xmm1, dword [ebp - 0x9c]
push eax
push dword [ebp - 0xbc]
lea eax, [ebp - 0x90]
movss dword [ebp - 0x90], xmm2
push eax
push 0
xorps xmm2, xmm2
movss dword [ebp - 0x8c], xmm1
call fcn.004274d0
jmp 0x432d19
push 0
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0x3f800000
push eax
push 0
push dword [ebp - 0xb8]
lea eax, [ebp - 0x58]
mov dword [ebp - 0x8c], 0
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x68]
call fcn.00407590
add esp, 0x14
mov al, byte [ebp - 0xae]
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