Function at 0x440f50
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x404
push esi
mov dword [ebp - 0x158], ecx
imul eax, dword [ebp + 8], 0x304
mov ecx, dword [ebp - 0x158]
lea edx, [ecx + eax + 4]
mov dword [ebp - 4], edx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x80
je 0x440fd2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x6c]
cmp eax, dword [edx + 0x78]
jae 0x440f9b
jmp 0x443d8c
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x70], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x74]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x70]
mov edx, dword [ebp - 4]
mov dword [edx + 0x74], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x80
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x10], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x2000000
je 0x4417d2
mov ecx, 0x5d535f8
call fcn.0043fda0
call fcn.004be090
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jle 0x4417d2
mov eax, 0x1c
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [eax + ecx + 0x168]
mulss xmm0, dword [0x4d5d84]
movss dword [ebp - 0x7c], xmm0
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x14c]
jbe 0x44104f
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x150]
comiss xmm0, dword [0x4d5d48]
ja 0x44107a
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x14c]
comiss xmm0, dword [0x4d5d48]
jbe 0x441102
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x150]
jbe 0x441102
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x150]
addss xmm0, dword [eax + 0x14c]
mov ecx, dword [ebp - 4]
movss dword [ecx + 0x150], xmm0
cvtss2sd xmm0, dword [ebp - 0x7c]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x4410d4
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x150]
comiss xmm0, dword [eax + 0x154]
jbe 0x4410d2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x154]
mov dword [ecx + 0x150], eax
jmp 0x4410fd
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x154]
comiss xmm0, dword [edx + 0x150]
jbe 0x4410fd
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x154]
mov dword [eax + 0x150], edx
jmp 0x441185
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x150]
addss xmm0, dword [ecx + 0x14c]
mov edx, dword [ebp - 4]
movss dword [edx + 0x150], xmm0
cvtss2sd xmm0, dword [ebp - 0x7c]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x44115c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x154]
comiss xmm0, dword [ecx + 0x150]
jbe 0x44115a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x154]
mov dword [edx + 0x150], ecx
jmp 0x441185
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x150]
comiss xmm0, dword [eax + 0x154]
jbe 0x441185
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x154]
mov dword [ecx + 0x150], eax
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0xd8]
subss xmm0, dword [ecx + edx + 0x168]
cvtss2sd xmm0, xmm0
andps xmm0, xmmword [0x4d6280]
mov edx, dword [ebp - 4]
cvtss2sd xmm1, dword [edx + 0x150]
andps xmm1, xmmword [0x4d6280]
comisd xmm1, xmm0
jbe 0x4412fe
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xd8]
subss xmm0, dword [0x4d5d74]
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x168], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xd8]
subss xmm0, dword [0x4d5d74]
mov edx, 0x1c
imul eax, edx, 3
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x80], ecx
cvtsi2sd xmm1, dword [ebp - 0x80]
mov edx, dword [ebp - 0x80]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x2cc], xmm1
cvtsd2ss xmm1, qword [ebp - 0x2cc]
addss xmm0, xmm1
mov eax, 0x1c
shl eax, 1
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x84], ecx
cvtsi2sd xmm1, dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x2d4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x2d4]
addss xmm0, xmm1
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd8]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xdc]
mov dword [edx + 0x20], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x164], 1
jmp 0x4413c0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x150]
movss dword [ebp - 0x38], xmm0
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x168]
addss xmm0, dword [ebp - 0x38]
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x168], xmm0
mov ecx, 0x1c
shl ecx, 0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x168]
addss xmm0, dword [ebp - 0x38]
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, 0x1c
shl edx, 1
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x168]
addss xmm0, dword [ebp - 0x38]
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x168], xmm0
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x168]
addss xmm0, dword [ebp - 0x38]
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x168], xmm0
mov eax, 0x1c
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xdc]
subss xmm0, dword [eax + ecx + 0x16c]
mulss xmm0, dword [0x4d5d84]
movss dword [ebp - 0x88], xmm0
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x158]
jbe 0x441412
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x15c]
comiss xmm0, dword [0x4d5d48]
ja 0x44143d
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x158]
comiss xmm0, dword [0x4d5d48]
jbe 0x4414c8
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x15c]
jbe 0x4414c8
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x15c]
addss xmm0, dword [eax + 0x158]
mov ecx, dword [ebp - 4]
movss dword [ecx + 0x15c], xmm0
cvtss2sd xmm0, dword [ebp - 0x88]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x44149a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x15c]
comiss xmm0, dword [eax + 0x160]
jbe 0x441498
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x160]
mov dword [ecx + 0x15c], eax
jmp 0x4414c3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x160]
comiss xmm0, dword [edx + 0x15c]
jbe 0x4414c3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x160]
mov dword [eax + 0x15c], edx
jmp 0x44154e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x15c]
addss xmm0, dword [ecx + 0x158]
mov edx, dword [ebp - 4]
movss dword [edx + 0x15c], xmm0
cvtss2sd xmm0, dword [ebp - 0x88]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x441525
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x160]
comiss xmm0, dword [ecx + 0x15c]
jbe 0x441523
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x160]
mov dword [edx + 0x15c], ecx
jmp 0x44154e
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x15c]
comiss xmm0, dword [eax + 0x160]
jbe 0x44154e
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x160]
mov dword [ecx + 0x15c], eax
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0xdc]
subss xmm0, dword [ecx + edx + 0x16c]
cvtss2sd xmm0, xmm0
andps xmm0, xmmword [0x4d6280]
mov edx, dword [ebp - 4]
cvtss2sd xmm1, dword [edx + 0x15c]
andps xmm1, xmmword [0x4d6280]
comisd xmm1, xmm0
jbe 0x4416d0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xdc]
subss xmm0, dword [0x4d5d74]
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x8c], eax
cvtsi2sd xmm1, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x2dc], xmm1
cvtsd2ss xmm1, qword [ebp - 0x2dc]
addss xmm0, xmm1
mov edx, 0x1c
imul eax, edx, 3
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x16c], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xdc]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x90], ecx
cvtsi2sd xmm1, dword [ebp - 0x90]
mov edx, dword [ebp - 0x90]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x1a4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1a4]
addss xmm0, xmm1
mov eax, 0x1c
shl eax, 1
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x16c], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xdc]
subss xmm0, dword [0x4d5d74]
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x16c], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd8]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xdc]
mov dword [edx + 0x20], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x165], 1
jmp 0x441792
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x15c]
movss dword [ebp - 0x3c], xmm0
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x16c]
addss xmm0, dword [ebp - 0x3c]
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
mov ecx, 0x1c
shl ecx, 0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x16c]
addss xmm0, dword [ebp - 0x3c]
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x16c], xmm0
mov edx, 0x1c
shl edx, 1
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x16c]
addss xmm0, dword [ebp - 0x3c]
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x16c]
addss xmm0, dword [ebp - 0x3c]
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x164]
cmp ecx, 1
jne 0x4417c4
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x165]
cmp eax, 1
jne 0x4417c4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x2000000
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
jmp 0x4417d2
mov ecx, dword [ebp - 0x64]
sub ecx, 1
mov dword [ebp - 0x64], ecx
jmp 0x440ff6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 1
je 0x44255d
mov ecx, 0x5d535f8
call fcn.0043fda0
fstp dword [ebp - 0x68]
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x84]
mulss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x40], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x88]
mulss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x44], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x7c]
addss xmm0, dword [ebp - 0x68]
mov ecx, dword [ebp - 4]
movss dword [ecx + 0x7c], xmm0
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + eax + 0x168]
addss xmm0, dword [ebp - 0x40]
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + eax + 0x16c]
addss xmm0, dword [ebp - 0x44]
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x16c], xmm0
mov edx, 0x1c
shl edx, 0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x168]
addss xmm0, dword [ebp - 0x40]
mov ecx, 0x1c
shl ecx, 0
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x168], xmm0
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + eax + 0x16c]
addss xmm0, dword [ebp - 0x44]
mov edx, 0x1c
shl edx, 0
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x168]
addss xmm0, dword [ebp - 0x40]
mov eax, 0x1c
shl eax, 1
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, 0x1c
shl edx, 1
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x16c]
addss xmm0, dword [ebp - 0x44]
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x168]
addss xmm0, dword [ebp - 0x40]
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x168], xmm0
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x16c]
addss xmm0, dword [ebp - 0x44]
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x80]
ucomiss xmm0, dword [0x4d5d48]
lahf
test ah, 0x44
jnp 0x441cbe
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x7c]
comiss xmm0, dword [edx + 0x80]
jb 0x441cb9
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xdc]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xd8]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x334]
call fcn.004112b0
mov edx, 0x1c
imul ecx, edx, 0
mov edx, dword [ebp - 4]
lea ecx, [edx + ecx + 0x168]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x94], eax
cvtsi2sd xmm1, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x94]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x1ac], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1ac]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x344]
call fcn.004112b0
mov ecx, 0x1c
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
lea edx, [ecx + edx + 0x168]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x98], eax
cvtsi2sd xmm1, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x98]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x1b4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1b4]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x9c], ecx
cvtsi2sd xmm1, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x9c]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x1bc], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1bc]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x354]
call fcn.004112b0
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
lea ecx, [edx + ecx + 0x168]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0xa0], ecx
cvtsi2sd xmm1, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa0]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x1c4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1c4]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x364]
call fcn.004112b0
mov ecx, 0x1c
shl ecx, 0
mov edx, dword [ebp - 4]
lea ecx, [edx + ecx + 0x168]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [ecx + 0x80], xmm0
jmp 0x44255d
xorps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
comiss xmm0, dword [eax + 0x1c]
jbe 0x441d15
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x168]
movss dword [ebp - 0x28], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xd8]
subss xmm0, dword [0x4d5d74]
movss dword [ebp - 0x2c], xmm0
jmp 0x441d6c
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x1c]
comiss xmm0, dword [eax + 0xd8]
jbe 0x441d5c
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xd8]
subss xmm0, dword [0x4d5d74]
movss dword [ebp - 0x28], xmm0
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + eax + 0x168]
movss dword [ebp - 0x2c], xmm0
jmp 0x441d6c
xorps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x30], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x34], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xdc]
comiss xmm0, dword [eax + 0x20]
jbe 0x441dc3
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x16c]
movss dword [ebp - 0x30], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
movss dword [ebp - 0x34], xmm0
jmp 0x441e1a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x20]
comiss xmm0, dword [eax + 0xdc]
jbe 0x441e0a
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
movss dword [ebp - 0x30], xmm0
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + eax + 0x16c]
movss dword [ebp - 0x34], xmm0
jmp 0x441e1a
xorps xmm0, xmm0
movss dword [ebp - 0x30], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [0x4d5d88]
movss dword [ebp - 8], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xc8]
ucomiss xmm0, dword [0x4d5d48]
lahf
test ah, 0x44
jnp 0x441e4f
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xc8]
movss dword [ebp - 8], xmm0
movss xmm0, dword [ebp - 0x28]
comiss xmm0, dword [ebp - 0x2c]
ja 0x441ebd
movss xmm0, dword [ebp - 0x30]
comiss xmm0, dword [ebp - 0x34]
ja 0x441ebd
movss xmm0, dword [ebp - 0x28]
ucomiss xmm0, dword [0x4d5d48]
lahf
test ah, 0x44
jp 0x44255d
movss xmm0, dword [ebp - 0x2c]
ucomiss xmm0, dword [0x4d5d48]
lahf
test ah, 0x44
jp 0x44255d
movss xmm0, dword [ebp - 0x30]
ucomiss xmm0, dword [0x4d5d48]
lahf
test ah, 0x44
jp 0x44255d
movss xmm0, dword [ebp - 0x34]
ucomiss xmm0, dword [0x4d5d48]
lahf
test ah, 0x44
jp 0x44255d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x4000000
je 0x442245
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0xd4]
addss xmm0, dword [ecx + 0x88]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xd0]
addss xmm0, dword [eax + 0x84]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x374]
call fcn.004112b0
mov ecx, 0x1c
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
lea edx, [ecx + edx + 0x168]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xd4]
addss xmm0, dword [edx + 0x88]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xa4], ecx
cvtsi2sd xmm1, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa4]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x1cc], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1cc]
mulss xmm1, dword [ebp - 8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0xd0]
addss xmm0, dword [ecx + 0x84]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x384]
call fcn.004112b0
mov edx, 0x1c
imul ecx, edx, 3
mov edx, dword [ebp - 4]
lea ecx, [edx + ecx + 0x168]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xd4]
addss xmm0, dword [edx + 0x88]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xa8], ecx
cvtsi2sd xmm1, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xa8]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x1d4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1d4]
mulss xmm1, dword [ebp - 8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0xd0]
addss xmm0, dword [ecx + 0x84]
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xac], eax
cvtsi2sd xmm1, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xac]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x1dc], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1dc]
mulss xmm1, dword [ebp - 8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x394]
call fcn.004112b0
mov edx, 0x1c
shl edx, 1
mov ecx, dword [ebp - 4]
lea edx, [ecx + edx + 0x168]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xd4]
addss xmm0, dword [edx + 0x88]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0xd0]
addss xmm0, dword [ecx + 0x84]
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xb0], eax
cvtsi2sd xmm1, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x1e4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1e4]
mulss xmm1, dword [ebp - 8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3a4]
call fcn.004112b0
mov edx, 0x1c
shl edx, 0
mov ecx, dword [ebp - 4]
lea edx, [ecx + edx + 0x168]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd4]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 4]
movss xmm0, dword [0x4d5d88]
movss dword [ecx + 0x7c], xmm0
jmp 0x44255d
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xdc]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xd8]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3b4]
call fcn.004112b0
mov ecx, 0x1c
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
lea edx, [ecx + edx + 0x168]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0xb4], eax
cvtsi2sd xmm1, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x1ec], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1ec]
mulss xmm1, dword [ebp - 8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3c4]
call fcn.004112b0
mov ecx, 0x1c
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
lea edx, [ecx + edx + 0x168]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0xb8], eax
cvtsi2sd xmm1, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb8]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x1f4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1f4]
mulss xmm1, dword [ebp - 8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0xbc], ecx
cvtsi2sd xmm1, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xbc]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x1fc], xmm1
cvtsd2ss xmm1, qword [ebp - 0x1fc]
mulss xmm1, dword [ebp - 8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3d4]
call fcn.004112b0
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
lea ecx, [edx + ecx + 0x168]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xdc]
subss xmm0, dword [0x4d5d74]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xd8]
subss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0xc0], ecx
cvtsi2sd xmm1, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc0]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x204], xmm1
cvtsd2ss xmm1, qword [ebp - 0x204]
mulss xmm1, dword [ebp - 8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3e4]
call fcn.004112b0
mov ecx, 0x1c
shl ecx, 0
mov edx, dword [ebp - 4]
lea ecx, [edx + ecx + 0x168]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd8]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xdc]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x20
je 0x442867
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x74]
mov dword [ebp - 0xc4], ecx
cvtsi2sd xmm0, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc4]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x20c], xmm0
cvtsd2ss xmm0, qword [ebp - 0x20c]
movss dword [ebp - 0x15c], xmm0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0xc8], eax
cvtsi2sd xmm0, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d6270]
movsd qword [ebp - 0x254], xmm0
cvtsd2ss xmm0, qword [ebp - 0x254]
movss xmm1, dword [ebp - 0x15c]
subss xmm1, xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 0x74]
sub eax, dword [edx + 0x70]
mov dword [ebp - 0xcc], eax
cvtsi2sd xmm0, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xcc]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x214], xmm0
cvtsd2ss xmm0, qword [ebp - 0x214]
divss xmm1, xmm0
movss dword [ebp - 0xc], xmm1
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
jbe 0x442656
movss xmm0, dword [0x4d5d88]
movss dword [ebp - 0xc], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
sub eax, 0x20
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x144]
call fcn.004112b0
movss xmm0, dword [ebp - 0xc]
comiss xmm0, dword [0x4d5d7c]
jbe 0x4426dc
movss xmm0, dword [ebp - 0xc]
subss xmm0, dword [0x4d5d7c]
mulss xmm0, dword [0x4d5e30]
movss dword [ebp - 0x14], xmm0
push ecx
movss xmm0, dword [ebp - 0x14]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x2c
push edx
mov eax, dword [ebp - 4]
add eax, 0x10c
push eax
lea ecx, [ebp - 0x144]
push ecx
call fcn.0043fd00
add esp, 0x10
jmp 0x4427cc
movss xmm0, dword [ebp - 0xc]
comiss xmm0, dword [0x4d5d74]
jbe 0x442736
movss xmm0, dword [ebp - 0xc]
subss xmm0, dword [0x4d5d74]
mulss xmm0, dword [0x4d5e30]
movss dword [ebp - 0x14], xmm0
push ecx
movss xmm0, dword [ebp - 0x14]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x10c
push edx
mov eax, dword [ebp - 4]
add eax, 0x11c
push eax
lea ecx, [ebp - 0x144]
push ecx
call fcn.0043fd00
add esp, 0x10
jmp 0x4427cc
movss xmm0, dword [ebp - 0xc]
comiss xmm0, dword [0x4d5d68]
jbe 0x44278d
movss xmm0, dword [ebp - 0xc]
subss xmm0, dword [0x4d5d68]
mulss xmm0, dword [0x4d5e30]
movss dword [ebp - 0x14], xmm0
push ecx
movss xmm0, dword [ebp - 0x14]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x11c
push edx
mov eax, dword [ebp - 4]
add eax, 0x12c
push eax
lea ecx, [ebp - 0x144]
push ecx
call fcn.0043fd00
add esp, 0x10
jmp 0x4427cc
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x4d5e30]
movss dword [ebp - 0x14], xmm0
push ecx
movss xmm0, dword [ebp - 0x14]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x12c
push edx
mov eax, dword [ebp - 4]
add eax, 0x13c
push eax
lea ecx, [ebp - 0x144]
push ecx
call fcn.0043fd00
add esp, 0x10
movss xmm0, dword [ebp - 0x138]
call fcn.004a1100
mov esi, eax
shl esi, 0x18
movss xmm0, dword [ebp - 0x144]
call fcn.004a1100
shl eax, 0x10
or esi, eax
movss xmm0, dword [ebp - 0x140]
call fcn.004a1100
shl eax, 8
or esi, eax
movss xmm0, dword [ebp - 0x13c]
call fcn.004a1100
or esi, eax
mov dword [ebp - 0x48], esi
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x48]
mov dword [ecx + eax + 0x178], edx
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x48]
mov dword [ecx + eax + 0x178], edx
mov eax, 0x1c
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x48]
mov dword [ecx + eax + 0x178], edx
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x48]
mov dword [edx + ecx + 0x178], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x40
je 0x442c2a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x74]
mov dword [ebp - 0xd0], ecx
cvtsi2sd xmm0, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd0]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x21c], xmm0
cvtsd2ss xmm0, qword [ebp - 0x21c]
movss dword [ebp - 0x160], xmm0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0xd4], eax
cvtsi2sd xmm0, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d6270]
movsd qword [ebp - 0x224], xmm0
cvtsd2ss xmm0, qword [ebp - 0x224]
movss xmm1, dword [ebp - 0x160]
subss xmm1, xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 0x74]
sub eax, dword [edx + 0x70]
mov dword [ebp - 0xd8], eax
cvtsi2sd xmm0, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x22c], xmm0
cvtsd2ss xmm0, qword [ebp - 0x22c]
divss xmm1, xmm0
movss dword [ebp - 0x10], xmm1
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0x10]
jbe 0x442a3d
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x74]
sub ecx, dword [eax + 0x70]
mov dword [ebp - 0x164], ecx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [ebp - 4]
mov dword [edx + 0x70], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
add ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 4]
mov dword [edx + 0x74], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x74]
mov dword [ebp - 0xdc], ecx
cvtsi2sd xmm0, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xdc]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x234], xmm0
cvtsd2ss xmm0, qword [ebp - 0x234]
movss dword [ebp - 0x168], xmm0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0xe0], eax
cvtsi2sd xmm0, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d6270]
movsd qword [ebp - 0x23c], xmm0
cvtsd2ss xmm0, qword [ebp - 0x23c]
movss xmm1, dword [ebp - 0x168]
subss xmm1, xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 0x74]
sub eax, dword [edx + 0x70]
mov dword [ebp - 0xe4], eax
cvtsi2sd xmm0, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe4]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x244], xmm0
cvtsd2ss xmm0, qword [ebp - 0x244]
divss xmm1, xmm0
movss dword [ebp - 0x10], xmm1
lea ecx, [ebp - 0x154]
call fcn.004112a0
movss xmm0, dword [ebp - 0x10]
comiss xmm0, dword [0x4d5d7c]
jbe 0x442a9f
movss xmm0, dword [ebp - 0x10]
subss xmm0, dword [0x4d5d7c]
mulss xmm0, dword [0x4d5e30]
movss dword [ebp - 0x18], xmm0
push ecx
movss xmm0, dword [ebp - 0x18]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x2c
push edx
mov eax, dword [ebp - 4]
add eax, 0x10c
push eax
lea ecx, [ebp - 0x154]
push ecx
call fcn.0043fd00
add esp, 0x10
jmp 0x442b8f
movss xmm0, dword [ebp - 0x10]
comiss xmm0, dword [0x4d5d74]
jbe 0x442af9
movss xmm0, dword [ebp - 0x10]
subss xmm0, dword [0x4d5d74]
mulss xmm0, dword [0x4d5e30]
movss dword [ebp - 0x18], xmm0
push ecx
movss xmm0, dword [ebp - 0x18]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x10c
push edx
mov eax, dword [ebp - 4]
add eax, 0x11c
push eax
lea ecx, [ebp - 0x154]
push ecx
call fcn.0043fd00
add esp, 0x10
jmp 0x442b8f
movss xmm0, dword [ebp - 0x10]
comiss xmm0, dword [0x4d5d68]
jbe 0x442b50
movss xmm0, dword [ebp - 0x10]
subss xmm0, dword [0x4d5d68]
mulss xmm0, dword [0x4d5e30]
movss dword [ebp - 0x18], xmm0
push ecx
movss xmm0, dword [ebp - 0x18]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x11c
push edx
mov eax, dword [ebp - 4]
add eax, 0x12c
push eax
lea ecx, [ebp - 0x154]
push ecx
call fcn.0043fd00
add esp, 0x10
jmp 0x442b8f
movss xmm0, dword [ebp - 0x10]
mulss xmm0, dword [0x4d5e30]
movss dword [ebp - 0x18], xmm0
push ecx
movss xmm0, dword [ebp - 0x18]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x12c
push edx
mov eax, dword [ebp - 4]
add eax, 0x13c
push eax
lea ecx, [ebp - 0x154]
push ecx
call fcn.0043fd00
add esp, 0x10
movss xmm0, dword [ebp - 0x148]
call fcn.004a1100
mov esi, eax
shl esi, 0x18
movss xmm0, dword [ebp - 0x154]
call fcn.004a1100
shl eax, 0x10
or esi, eax
movss xmm0, dword [ebp - 0x150]
call fcn.004a1100
shl eax, 8
or esi, eax
movss xmm0, dword [ebp - 0x14c]
call fcn.004a1100
or esi, eax
mov dword [ebp - 0x4c], esi
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x4c]
mov dword [ecx + eax + 0x178], edx
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x4c]
mov dword [ecx + eax + 0x178], edx
mov eax, 0x1c
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x4c]
mov dword [ecx + eax + 0x178], edx
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
mov dword [edx + ecx + 0x178], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 8
je 0x442c44
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 8
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x10000000
je 0x442df4
mov ecx, 0x5d535f8
call fcn.0043fda0
fstp dword [ebp - 0x16c]
mov edx, dword [ebp - 4]
movss xmm0, dword [ebp - 0x16c]
mulss xmm0, dword [edx + 0x8c]
mov eax, dword [ebp - 4]
addss xmm0, dword [eax + 0x24]
mov ecx, dword [ebp - 4]
movss dword [ecx + 0x24], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 2
je 0x442cef
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x24]
comiss xmm0, dword [edx + 0xe0]
jb 0x442ced
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xe0]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x10000000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
cmp dword [eax], 0x1964
jne 0x442ced
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], 8
jmp 0x442d62
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xe0]
comiss xmm0, dword [eax + 0x24]
jb 0x442d62
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xe0]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x10000000
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x100
je 0x442d4b
mov eax, dword [ebp - 4]
mov dword [eax + 8], 0
mov ecx, dword [ebp - 4]
cmp dword [ecx + 8], 0
jne 0x442d62
mov edx, dword [ebp - 4]
mov byte [edx + 0xd], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x10], 0
mov ecx, dword [ebp - 4]
movss xmm0, dword [0x4d600c]
mulss xmm0, dword [ecx + 0x24]
call fcn.004a1100
shl eax, 0x18
mov dword [ebp - 0x170], eax
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x178]
and edx, 0xffffff
or edx, dword [ebp - 0x170]
mov dword [ebp - 0x50], edx
mov eax, 0x1c
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x50]
mov dword [edx + ecx + 0x178], eax
mov ecx, 0x1c
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x50]
mov dword [edx + ecx + 0x178], eax
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x50]
mov dword [edx + ecx + 0x178], eax
mov ecx, 0x1c
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x50]
mov dword [eax + edx + 0x178], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x40000000
je 0x443122
mov ecx, 0x5d535f8
call fcn.0043fda0
fstp dword [ebp - 0xe8]
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x90]
mulss xmm0, dword [ebp - 0xe8]
mov edx, dword [ebp - 4]
addss xmm0, dword [edx + 0xc8]
mov eax, dword [ebp - 4]
movss dword [eax + 0xc8], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x7c]
addss xmm0, dword [ebp - 0xe8]
mov edx, dword [ebp - 4]
movss dword [edx + 0x7c], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x1000
je 0x442e8f
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xc8]
comiss xmm0, dword [eax + 0xcc]
jbe 0x442e8d
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xcc]
mov dword [ecx + 0xc8], eax
jmp 0x442eb8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xcc]
comiss xmm0, dword [edx + 0xc8]
jbe 0x442eb8
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xcc]
mov dword [eax + 0xc8], edx
mov eax, 0x1c
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xec], eax
cvtsi2sd xmm0, dword [ebp - 0xec]
mov edx, dword [ebp - 0xec]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x24c], xmm0
cvtsd2ss xmm0, qword [ebp - 0x24c]
mov eax, dword [ebp - 4]
mulss xmm0, dword [eax + 0xc8]
mov edx, dword [ebp - 4]
addss xmm0, dword [edx + ecx + 0x168]
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xf0], edx
cvtsi2sd xmm0, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x2e4], xmm0
cvtsd2ss xmm0, qword [ebp - 0x2e4]
mov edx, dword [ebp - 4]
mulss xmm0, dword [edx + 0xc8]
mov ecx, dword [ebp - 4]
addss xmm0, dword [ecx + eax + 0x168]
mov edx, 0x1c
shl edx, 1
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x168], xmm0
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xf4], ecx
cvtsi2sd xmm0, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d6270]
movsd qword [ebp - 0x25c], xmm0
cvtsd2ss xmm0, qword [ebp - 0x25c]
mov ecx, dword [ebp - 4]
mulss xmm0, dword [ecx + 0xc8]
mov eax, dword [ebp - 4]
addss xmm0, dword [eax + edx + 0x16c]
mov ecx, 0x1c
imul edx, ecx, 3
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xf8], ecx
cvtsi2sd xmm0, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d6270]
movsd qword [ebp - 0x264], xmm0
cvtsd2ss xmm0, qword [ebp - 0x264]
mov ecx, dword [ebp - 4]
mulss xmm0, dword [ecx + 0xc8]
mov eax, dword [ebp - 4]
addss xmm0, dword [eax + edx + 0x16c]
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x1000
je 0x4430c6
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xc8]
comiss xmm0, dword [eax + 0xcc]
jb 0x4430c4
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xcc]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xcc]
mov dword [ecx + 0xc8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x1000
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x40000000
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
jmp 0x443122
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xcc]
comiss xmm0, dword [edx + 0xc8]
jb 0x443122
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xcc]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xcc]
mov dword [eax + 0xc8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x2000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x40000000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x100
je 0x4432d5
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x74]
cmp eax, dword [ebp - 0x6c]
ja 0x44315f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x20000000
jne 0x44315f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x100
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
movss xmm0, dword [0x4d60f4]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [0x4d608c]
movss dword [ebp - 0x100], xmm0
lea ecx, [ebp - 0x2f4]
call fcn.004112a0
lea ecx, [ebp - 0x314]
call fcn.004112a0
lea ecx, [ebp - 0x19c]
call fcn.004112a0
mov dword [ebp - 0x1c], 0
jmp 0x4431b2
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jae 0x4432d5
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
imul ecx, dword [ebp - 0x1c], 0x1c
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x16c]
subss xmm0, dword [ebp - 0x100]
push ecx
movss dword [esp], xmm0
imul eax, dword [ebp - 0x1c], 0x1c
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + eax + 0x168]
subss xmm0, dword [ebp - 0xfc]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3f4]
call fcn.004112b0
mov edx, dword [eax]
mov dword [ebp - 0x19c], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x198], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x194], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x94]
mulss xmm0, dword [0x4d5d58]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea edx, [ebp - 0x314]
push edx
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionRotationYawPitchRoll]
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebp - 0x19c]
push ecx
lea edx, [ebp - 0x2f4]
push edx
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionMultiply]
movss xmm0, dword [ebp - 0x2f4]
addss xmm0, dword [ebp - 0xfc]
imul eax, dword [ebp - 0x1c], 0x1c
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
movss xmm0, dword [ebp - 0x2f0]
addss xmm0, dword [ebp - 0x100]
imul edx, dword [ebp - 0x1c], 0x1c
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
jmp 0x4431a9
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x400
je 0x44344b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x9c]
comiss xmm0, dword [ecx + 0x98]
jb 0x44332f
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x20000000
jne 0x44332f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x400
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x98]
mov dword [ecx + 0x9c], eax
mov dword [ebp - 0x20], 0
jmp 0x443341
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 4
jae 0x443412
mov edx, dword [ebp - 4]
cvtss2sd xmm0, dword [edx + 0xc0]
mov eax, dword [ebp - 4]
cvtss2sd xmm1, dword [eax + 0x9c]
movsd qword [ebp - 0x26c], xmm0
movaps xmm0, xmm1
call fcn.004ac620
mulsd xmm0, qword [0x4d5e18]
movsd xmm1, qword [ebp - 0x26c]
addsd xmm1, xmm0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
cvtss2sd xmm0, dword [edx + ecx*4 + 0xa0]
addsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
imul eax, dword [ebp - 0x20], 0x1c
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, dword [ebp - 4]
cvtss2sd xmm0, dword [edx + 0xc4]
mov eax, dword [ebp - 4]
cvtss2sd xmm1, dword [eax + 0x9c]
movsd qword [ebp - 0x274], xmm0
movaps xmm0, xmm1
call fcn.004bf6b0
mulsd xmm0, qword [0x4d5e18]
movsd xmm1, qword [ebp - 0x274]
addsd xmm1, xmm0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
cvtss2sd xmm0, dword [edx + ecx*4 + 0xb0]
addsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
imul eax, dword [ebp - 0x20], 0x1c
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x16c], xmm0
jmp 0x443338
mov ecx, 0x5d535f8
call fcn.0043fda0
fstp dword [ebp - 0x174]
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x94]
mulss xmm0, dword [ebp - 0x174]
mov eax, dword [ebp - 4]
addss xmm0, dword [eax + 0x9c]
mov ecx, dword [ebp - 4]
movss dword [ecx + 0x9c], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x200
je 0x44367f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x74]
cmp edx, dword [ebp - 0x6c]
ja 0x443486
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x20000000
jne 0x443486
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
sub eax, 0x200
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x104], eax
cvtsi2sd xmm0, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x104]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x27c], xmm0
cvtsd2ss xmm0, qword [ebp - 0x27c]
mulss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
addss xmm0, dword [edx + 0x1c]
movss dword [ebp - 0x10c], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x108], ecx
cvtsi2sd xmm0, dword [ebp - 0x108]
mov edx, dword [ebp - 0x108]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x284], xmm0
cvtsd2ss xmm0, qword [ebp - 0x284]
mulss xmm0, dword [0x4d5d74]
mov eax, dword [ebp - 4]
addss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x110], xmm0
lea ecx, [ebp - 0x304]
call fcn.004112a0
lea ecx, [ebp - 0x324]
call fcn.004112a0
lea ecx, [ebp - 0x18c]
call fcn.004112a0
mov dword [ebp - 0x24], 0
jmp 0x443555
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 4
jae 0x44367f
push ecx
movss xmm0, dword [0x4d5d88]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
imul edx, dword [ebp - 0x24], 0x1c
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + edx + 0x16c]
subss xmm0, dword [ebp - 0x110]
push ecx
movss dword [esp], xmm0
imul ecx, dword [ebp - 0x24], 0x1c
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + ecx + 0x168]
subss xmm0, dword [ebp - 0x10c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x404]
call fcn.004112b0
mov ecx, dword [eax]
mov dword [ebp - 0x18c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x188], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x184], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x94]
xorps xmm0, xmmword [0x4d62a0]
mulss xmm0, dword [0x4d5d58]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x324]
push ecx
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionRotationYawPitchRoll]
lea edx, [ebp - 0x324]
push edx
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x304]
push ecx
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionMultiply]
movss xmm0, dword [ebp - 0x304]
addss xmm0, dword [ebp - 0x10c]
imul edx, dword [ebp - 0x24], 0x1c
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x168], xmm0
movss xmm0, dword [ebp - 0x300]
addss xmm0, dword [ebp - 0x110]
imul ecx, dword [ebp - 0x24], 0x1c
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
jmp 0x44354c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x80000000
je 0x443d8c
mov ecx, 0x5d535f8
call fcn.0043fda0
fstp dword [ebp - 0x178]
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x104]
addss xmm0, dword [ebp - 0x178]
mov eax, dword [ebp - 4]
movss dword [eax + 0x104], xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x104]
comiss xmm0, dword [edx + 0x108]
jbe 0x4439c4
mov eax, dword [ebp - 4]
cmp dword [eax + 0x100], 0
jne 0x4439c4
movss xmm0, dword [0x4d625c]
movss dword [ebp - 0x54], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xec]
addss xmm0, dword [ebp - 0x54]
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xec]
addss xmm0, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x114], ecx
cvtsi2sd xmm1, dword [ebp - 0x114]
mov edx, dword [ebp - 0x114]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x28c], xmm1
cvtsd2ss xmm1, qword [ebp - 0x28c]
mov eax, dword [ebp - 4]
mulss xmm1, dword [eax + 0x28]
addss xmm0, xmm1
mov ecx, 0x1c
shl ecx, 0
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x168], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xec]
addss xmm0, dword [ebp - 0x54]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x118], edx
cvtsi2sd xmm1, dword [ebp - 0x118]
mov eax, dword [ebp - 0x118]
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x4d6270]
movsd qword [ebp - 0x294], xmm1
cvtsd2ss xmm1, qword [ebp - 0x294]
mov ecx, dword [ebp - 4]
mulss xmm1, dword [ecx + 0x28]
addss xmm0, xmm1
mov edx, 0x1c
shl edx, 1
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x168], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xec]
addss xmm0, dword [ebp - 0x54]
mov edx, 0x1c
imul eax, edx, 3
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
movss xmm0, dword [0x4d625c]
movss dword [ebp - 0x58], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xf0]
addss xmm0, dword [ebp - 0x58]
mov eax, 0x1c
imul ecx, eax, 0
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xf0]
addss xmm0, dword [ebp - 0x58]
mov ecx, 0x1c
shl ecx, 0
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xf0]
addss xmm0, dword [ebp - 0x58]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x11c], edx
cvtsi2sd xmm1, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x11c]
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x4d6270]
movsd qword [ebp - 0x29c], xmm1
cvtsd2ss xmm1, qword [ebp - 0x29c]
mov ecx, dword [ebp - 4]
mulss xmm1, dword [ecx + 0x28]
addss xmm0, xmm1
mov edx, 0x1c
shl edx, 1
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xf0]
addss xmm0, dword [ebp - 0x58]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x120], eax
cvtsi2sd xmm1, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x120]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x2a4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x2a4]
mov edx, dword [ebp - 4]
mulss xmm1, dword [edx + 0x28]
addss xmm0, xmm1
mov eax, 0x1c
imul ecx, eax, 3
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x16c], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x80000000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x10000
je 0x44395b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
sub eax, 0x10000
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x20000
je 0x44397a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x20000
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [ecx + 0x108], xmm0
mov ecx, 0x4e0c40
call fcn.0041c1a0
mov dword [ebp - 0x17c], eax
xor edx, edx
mov eax, dword [ebp - 0x17c]
add eax, 0x30ed0
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], edx
mov dword [eax + 0x20], edx
jmp 0x443d8c
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xf8], 0
jne 0x4439dc
mov dword [ebp - 0x124], 1
jmp 0x4439eb
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xf8]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 4]
cvttss2si eax, dword [ecx + 0x104]
cdq
idiv dword [ebp - 0x124]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x10000
je 0x443bdb
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x74]
cmp edx, dword [ecx + 0xf4]
jl 0x443bdb
mov eax, dword [ebp - 4]
cmp dword [eax + 0xfc], 0
je 0x443a69
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xfc]
push edx
call fcn.004a4a0b
add esp, 4
mov dword [ebp - 0x70], 0
jmp 0x443a5a
mov eax, dword [ebp - 0x70]
add eax, 1
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [ebp - 0x74]
jge 0x443a69
call fcn.004a49ea
jmp 0x443a51
mov dword [ebp - 0x78], 1
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xe4]
ucomiss xmm0, dword [0x4d5d48]
lahf
test ah, 0x44
jnp 0x443bdb
call fcn.004a49ea
mov ecx, dword [ebp - 4]
cvttss2si ecx, dword [ecx + 0xe4]
cdq
idiv ecx
cvtsi2ss xmm0, edx
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
cvttss2si eax, dword [edx + 0xe4]
cdq
sub eax, edx
sar eax, 1
cvtsi2ss xmm1, eax
subss xmm0, xmm1
movss dword [ebp - 0x5c], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xec]
addss xmm0, dword [ebp - 0x5c]
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x168], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xec]
addss xmm0, dword [ebp - 0x5c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x128], eax
cvtsi2sd xmm1, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x128]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x2ac], xmm1
cvtsd2ss xmm1, qword [ebp - 0x2ac]
mov edx, dword [ebp - 4]
mulss xmm1, dword [edx + 0x28]
addss xmm0, xmm1
mov eax, 0x1c
shl eax, 0
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x168], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xec]
addss xmm0, dword [ebp - 0x5c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x12c], ecx
cvtsi2sd xmm1, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x12c]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x2b4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x2b4]
mov eax, dword [ebp - 4]
mulss xmm1, dword [eax + 0x28]
addss xmm0, xmm1
mov ecx, 0x1c
shl ecx, 1
mov edx, dword [ebp - 4]
movss dword [edx + ecx + 0x168], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xec]
addss xmm0, dword [ebp - 0x5c]
mov ecx, 0x1c
imul edx, ecx, 3
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x168], xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x20000
je 0x443d71
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [eax + 0xf4]
jl 0x443d71
mov dword [ebp - 0x78], 1
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xe8]
ucomiss xmm0, dword [0x4d5d48]
lahf
test ah, 0x44
jnp 0x443d71
call fcn.004a49ea
mov ecx, dword [ebp - 4]
cvttss2si ecx, dword [ecx + 0xe8]
cdq
idiv ecx
cvtsi2ss xmm0, edx
subss xmm0, dword [0x4d5d74]
mov edx, dword [ebp - 4]
cvttss2si eax, dword [edx + 0xe8]
cdq
sub eax, edx
sar eax, 1
cvtsi2ss xmm1, eax
subss xmm0, xmm1
movss dword [ebp - 0x60], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xf0]
addss xmm0, dword [ebp - 0x60]
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xf0]
addss xmm0, dword [ebp - 0x60]
mov edx, 0x1c
shl edx, 0
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xf0]
addss xmm0, dword [ebp - 0x60]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x130], eax
cvtsi2sd xmm1, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x130]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x4d6270]
movsd qword [ebp - 0x2bc], xmm1
cvtsd2ss xmm1, qword [ebp - 0x2bc]
mov edx, dword [ebp - 4]
mulss xmm1, dword [edx + 0x28]
addss xmm0, xmm1
mov eax, 0x1c
shl eax, 1
mov ecx, dword [ebp - 4]
movss dword [ecx + eax + 0x16c], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xf0]
addss xmm0, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x134], ecx
cvtsi2sd xmm1, dword [ebp - 0x134]
mov edx, dword [ebp - 0x134]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x4d6270]
movsd qword [ebp - 0x2c4], xmm1
cvtsd2ss xmm1, qword [ebp - 0x2c4]
mov eax, dword [ebp - 4]
mulss xmm1, dword [eax + 0x28]
addss xmm0, xmm1
mov ecx, 0x1c
imul edx, ecx, 3
mov eax, dword [ebp - 4]
movss dword [eax + edx + 0x16c], xmm0
cmp dword [ebp - 0x78], 1
jne 0x443d8c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xf4]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0xf4], edx
pop esi
mov esp, ebp
pop ebp
ret 4