Function at 0x4899cb
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x523cd5
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x56617c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ecx + 0x168]
xorps xmm0, xmm0
mov edi, dword [ebp + 8]
mov dword [ecx + 0x16c], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x160], 1
mov dword [ecx + 0xdc], 0
mov dword [ecx + 0xe4], 0
mov dword [ecx + 0xe0], 0
mov dword [ecx + 0xe8], 0
mov dword [ecx + 0x100], 0
mov dword [ecx + 0x104], 0
mov dword [ecx + 0x168], edi
mov dword [ecx + 0xbc], eax
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0
call fcn.004cc620
mov esi, eax
mov dword [ebp - 0x20], esi
call fcn.004296f0
mov ecx, dword [esi + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0x540300
dec edi
mov dword [ebp - 4], 0
cmp edi, 6
ja case.default.0x488065
jmp dword [edi*4 + 0x48ab30]
cmp dword [ebp + 0xc], 1
jne case.default.0x488065
mov esi, dword [ebp - 0x30]
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459430
mov ecx, dword [esi + 0x1b4]
xor eax, eax
cmp dword [esi + 0xc0], eax
setne al
xor edx, edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
cmp eax, edi
je 0x4880da
nop word [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x4880c5
add eax, 4
inc edx
cmp eax, edi
jne 0x4880b0
jmp 0x4880da
cmp edx, 0xffffffff
je 0x4880da
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x30]
push 6
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
cmp dword [0x592ad4], 1
jne 0x4880eb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x4880f1
call dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [esi + 0xc0], 1
mov dword [esi + 0x144], eax
mov dword [esi + 0xe4], 1
mov dword [esi + 0xe8], 1
jne 0x488209
cmp dword [esi + 0x170], 1
je 0x4881a6
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
nop word [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x488170
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
push dword [esi + 0x180]
push 3
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x30], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4881e1
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 1
lea eax, [eax*4 + 0x58ef5c]
push eax
jmp 0x48aaff
push 0
mov ecx, esi
call fcn.0048ae30
mov eax, dword [esi + 0x180]
mov ecx, dword [esi + 0xc4]
push eax
push 3
cmp ecx, 0x12c
jge 0x488284
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48825c
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
lea eax, [eax*4 + 0x58ecf8]
push eax
jmp 0x48aaff
cmp ecx, 0x258
jge 0x4882e7
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4882bf
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 3
lea eax, [eax*4 + 0x58edc4]
push eax
jmp 0x48aaff
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48831a
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 4
lea eax, [eax*4 + 0x58ee90]
push eax
jmp 0x48aaff
cmp dword [ebp + 0xc], 2
jne case.default.0x488065
mov esi, dword [ebp - 0x30]
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459430
mov ecx, dword [esi + 0x1b4]
xor eax, eax
cmp dword [esi + 0xc0], eax
setne al
xor edx, edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov dword [ebp - 0x30], eax
cmp eax, edi
je 0x4883aa
nop dword [eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x488395
add eax, 4
inc edx
cmp eax, edi
jne 0x488380
jmp 0x4883aa
cmp edx, 0xffffffff
je 0x4883aa
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 5
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
cmp dword [0x592ad4], 1
jne 0x4883bb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x4883c1
call dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [esi + 0xc0], 1
mov dword [esi + 0x144], eax
mov dword [esi + 0xdc], 1
mov dword [esi + 0xe0], 1
jne 0x4884b7
cmp dword [esi + 0x170], 1
je 0x488476
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
nop word [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x488440
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
push 1
sub esp, 0x44
mov edi, esp
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48849b
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 5
push 0x58f314
jmp 0x48aaff
push 0
mov ecx, esi
call fcn.0048ae30
mov eax, dword [esi + 0xc4]
push 1
sub esp, 0x44
mov edi, esp
mov dword [ebp - 0x2c], edi
mov ecx, edi
cmp eax, 0x12c
jge 0x48850e
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4884f2
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 6
push 0x58f248
jmp 0x48aaff
cmp eax, 0x258
jge 0x48854a
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48852e
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 7
push 0x58f28c
jmp 0x48aaff
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x488563
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 8
push 0x58f2d0
jmp 0x48aaff
cmp dword [ebp + 0xc], 1
jne case.default.0x488065
mov edi, dword [ebp - 0x30]
xor eax, eax
cmp dword [edi + 0xc0], eax
mov ecx, dword [edi + 0x1b4]
setne al
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x4885da
nop
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x4885c5
add eax, 4
inc edx
cmp eax, esi
jne 0x4885b0
jmp 0x4885da
cmp edx, 0xffffffff
je 0x4885da
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 1
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
push dword [edi + 0x18c]
mov esi, dword [edi + 0xc0]
push 3
call fcn.0048ce80
push ecx
mov edx, 3
mov dword [edi + 0x18c], eax
test esi, esi
mov ecx, 0xa
cmove ecx, edx
add ecx, eax
push ecx
mov ecx, dword [edi + 0x1b4]
call fcn.00459a80
cmp dword [edi + 0xc0], 1
mov eax, dword [edi + 0x170]
jne 0x488714
cmp eax, 1
je 0x4886a8
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x2d
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x488672
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
push dword [edi + 0x180]
push 3
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x4886e3
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x28]
mov ecx, esi
shl eax, 4
add eax, dword [ebp - 0x28]
lea eax, [eax*4 + 0x58ef5c]
push eax
call fcn.0041a900
mov ecx, edi
jmp 0x48ab08
cmp eax, 1
je 0x488798
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x488762
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
mov eax, dword [edi + 0x180]
mov ecx, dword [edi + 0xc4]
push eax
push 3
cmp ecx, 0x12c
jge 0x488813
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x4887e2
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
mov ecx, esi
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0xa
lea eax, [eax*4 + 0x58ecf8]
push eax
call fcn.0041a900
mov ecx, edi
jmp 0x48ab08
cmp ecx, 0x258
jge 0x48887f
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x48884e
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
mov ecx, esi
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0xb
lea eax, [eax*4 + 0x58edc4]
push eax
call fcn.0041a900
mov ecx, edi
jmp 0x48ab08
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x4888b2
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
mov ecx, esi
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0xc
lea eax, [eax*4 + 0x58ee90]
push eax
call fcn.0041a900
mov ecx, edi
jmp 0x48ab08
cmp dword [ebp + 0xc], 1
jne case.default.0x488065
mov edi, dword [ebp - 0x30]
xor eax, eax
cmp dword [edi + 0xc0], eax
mov ecx, dword [edi + 0x1b4]
setne al
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x48893c
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x488927
add eax, 4
inc edx
cmp eax, esi
jne 0x488912
jmp 0x48893c
cmp edx, 0xffffffff
je 0x48893c
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 2
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
push dword [edi + 0x18c]
mov esi, dword [edi + 0xc0]
push 3
call fcn.0048ce80
push ecx
mov edx, 3
mov dword [edi + 0x18c], eax
test esi, esi
mov ecx, 0xa
cmove ecx, edx
add ecx, eax
push ecx
mov ecx, dword [edi + 0x1b4]
call fcn.00459a80
cmp dword [edi + 0xc0], 1
mov eax, dword [edi + 0x170]
jne 0x488a5c
cmp eax, 1
je 0x488a0a
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x2d
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x4889d4
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
push dword [edi + 0x180]
push 3
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x488a45
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0xd
jmp 0x4886f5
cmp eax, 1
je 0x488ae6
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
nop word [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x488ab0
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
mov eax, dword [edi + 0x180]
mov ecx, dword [edi + 0xc4]
push eax
push 3
cmp ecx, 0x12c
jge 0x488b61
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x488b30
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x28]
mov ecx, esi
shl eax, 4
add eax, dword [ebp - 0x28]
lea eax, [eax*4 + 0x58ecf8]
push eax
call fcn.0041a900
mov ecx, edi
jmp 0x48ab08
cmp ecx, 0x258
jge 0x488bcd
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x488b9c
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x28]
mov ecx, esi
shl eax, 4
add eax, dword [ebp - 0x28]
lea eax, [eax*4 + 0x58edc4]
push eax
call fcn.0041a900
mov ecx, edi
jmp 0x48ab08
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x488c00
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x28]
mov ecx, esi
shl eax, 4
add eax, dword [ebp - 0x28]
lea eax, [eax*4 + 0x58ee90]
push eax
call fcn.0041a900
mov ecx, edi
jmp 0x48ab08
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x488f74
mov esi, dword [ebp - 0x30]
mov ecx, 0x3e8
cmp dword [esi + 0x170], 1
je 0x488ccc
movd xmm0, dword [esi + 0x11c]
mov edi, 0x1bc
mov eax, dword [esi + 0xc4]
mov edx, 0x14
cvtdq2ps xmm0, xmm0
add eax, 0x2d
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x488c91
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
mov ecx, 0x3e8
cmp dword [esi + 0x174], 1
je 0x488d56
movd xmm0, dword [esi + 0x120]
mov edi, 0x270
mov eax, dword [esi + 0xc8]
mov edx, 0x14
cvtdq2ps xmm0, xmm0
add eax, 0x2d
cmp eax, 0x3e8
cmovg eax, ecx
mov ecx, dword [esi + 0x1c4]
mov dword [esi + 0xc8], eax
mulss xmm0, dword [0x54c9ac]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
nop dword [eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x22
mov dword [eax + 4], edi
sub edx, 1
jne 0x488d20
mov edx, dword [esi + 0x1c4]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x128], 1
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459430
xor eax, eax
cmp dword [esi + 0xc0], eax
push 0
setne al
push eax
push 0xb
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.004591c0
cmp dword [esi + 0xc0], 1
mov eax, dword [esi + 0x184]
mov dword [esi + 0xec], 2
mov dword [esi + 0x154], 0
push eax
jne 0x488dfe
push 0x19
call fcn.0048ce80
push 0
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x184], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x488dd7
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x11
lea eax, [eax*4 + 0x5912f4]
jmp 0x488f20
mov ecx, dword [esi + 0xc4]
cmp ecx, 0x12c
jge 0x488e68
push 0x18
call fcn.0048ce80
push 0
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x184], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x488e41
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x12
lea eax, [eax*4 + 0x590018]
jmp 0x488f20
cmp ecx, 0x258
jge 0x488ec9
push 0x1a
call fcn.0048ce80
push 0
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x184], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x488ea5
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x13
lea eax, [eax*4 + 0x590678]
jmp 0x488f20
push 0x15
call fcn.0048ce80
push 0
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x184], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x488efe
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x14
lea eax, [eax*4 + 0x590d60]
push eax
mov ecx, edi
call fcn.0041a900
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0048cb30
mov dword [esi + 0x108], 0
mov dword [esi + 0x100], 1
mov dword [esi + 0x118], 3
mov dword [esi + 0x134], 0
mov dword [esi + 0x12c], 1
mov dword [esi + 0x158], 1
jmp 0x489730
cmp eax, 1
jne 0x48927f
mov esi, dword [ebp - 0x30]
cmp dword [esi + 0x170], eax
je 0x489007
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x488fd1
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459430
xor eax, eax
cmp dword [esi + 0xc0], eax
push 0
setne al
push eax
push 8
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.004591c0
cmp dword [esi + 0xc0], 1
mov eax, dword [esi + 0x180]
push eax
mov dword [esi + 0xec], 0
mov dword [esi + 0x154], 0
push 3
jne 0x4890af
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x489088
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x15
lea eax, [eax*4 + 0x58ef5c]
jmp 0x4891cb
mov ecx, dword [esi + 0xc4]
cmp ecx, 0x12c
jge 0x489117
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4890f0
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x16
lea eax, [eax*4 + 0x58ecf8]
jmp 0x4891cb
cmp ecx, 0x258
jge 0x489176
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x489152
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x17
lea eax, [eax*4 + 0x58edc4]
jmp 0x4891cb
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4891a9
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x18
lea eax, [eax*4 + 0x58ee90]
push eax
mov ecx, edi
call fcn.0041a900
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0048cb30
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x114], 5
mov dword [esi + 0x118], 1
mov dword [esi + 0x134], 0
mov dword [esi + 0x12c], 1
mov dword [esi + 0x154], 1
cmp dword [0x592ad4], 1
jne 0x489227
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x489229
call edi
mov dword [esi + 0x13c], eax
cmp dword [0x592ad4], 1
jne 0x489240
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x489242
call edi
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], 0
mov dword [esi + 0x104], 0
mov dword [esi + 0x100], 0
mov dword [esi + 0x108], 0
mov dword [esi + 0x10c], 1
jmp case.default.0x488065
cmp eax, 2
jne 0x489503
mov esi, dword [ebp - 0x30]
cmp dword [esi + 0x170], 1
je 0x489316
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
nop dword [eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x4892e0
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459430
xor eax, eax
cmp dword [esi + 0xc0], eax
push 0
setne al
push eax
push 9
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.004591c0
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0xec], 0
mov dword [esi + 0x114], 5
mov dword [esi + 0x118], 2
mov dword [esi + 0x134], 0
mov dword [esi + 0x12c], 1
mov dword [esi + 0x154], 1
cmp dword [0x592ad4], 1
jne 0x489391
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x489393
call edi
mov dword [esi + 0x13c], eax
cmp dword [0x592ad4], 1
jne 0x4893aa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x4893ac
call edi
mov ecx, dword [esi + 0xc4]
mov dword [esi + 0x148], eax
mov eax, dword [esi + 0x180]
mov dword [esi + 0x14c], 0
mov dword [esi + 0x104], 0
mov dword [esi + 0x100], 0
mov dword [esi + 0x108], 0
mov dword [esi + 0x10c], 0
push eax
push 3
cmp ecx, 0x12c
jge 0x489445
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48942e
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x19
jmp 0x48826e
cmp ecx, 0x258
jge 0x4894a8
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x489480
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x1a
lea eax, [eax*4 + 0x58edc4]
push eax
jmp 0x48aaff
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov edi, esp
mov dword [esi + 0x180], eax
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4894db
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x1b
lea eax, [eax*4 + 0x58ee90]
push eax
jmp 0x48aaff
cmp eax, 3
jne 0x489779
mov esi, dword [ebp - 0x30]
cmp dword [esi + 0x170], 1
je 0x489597
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x2d
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x489561
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
mov ecx, dword [esi + 0x1b4]
xor eax, eax
cmp dword [esi + 0xc0], eax
setne al
xor edx, edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov dword [ebp - 0x30], eax
cmp eax, edi
je 0x4895ea
nop dword [eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x4895d5
add eax, 4
inc edx
cmp eax, edi
jne 0x4895c0
jmp 0x4895ea
cmp edx, 0xffffffff
je 0x4895ea
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 0
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459430
xor eax, eax
cmp dword [esi + 0xc0], eax
push 0
setne al
push eax
push 7
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.004591c0
push 6
sub esp, 0x44
cmp dword [esi + 0xc0], 1
mov edi, esp
mov ecx, edi
jne 0x48965c
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x489640
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x1c
push 0x58f864
jmp 0x48970a
mov eax, dword [esi + 0xc4]
mov dword [ebp - 0x2c], edi
cmp eax, 0x12c
jge 0x4896a1
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x489685
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x1d
push 0x58f798
jmp 0x48970a
cmp eax, 0x258
jge 0x4896da
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4896c1
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x1e
push 0x58f7dc
jmp 0x48970a
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4896f3
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x1f
push 0x58f820
mov ecx, edi
call fcn.0041a900
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0048cb30
mov dword [esi + 0x100], 0
mov dword [esi + 0x108], 1
mov dword [esi + 0x154], 1
mov dword [esi + 0x10c], 0
mov dword [esi + 0x104], 0
cmp dword [0x592ad4], 1
jne 0x489768
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x13c], eax
jmp case.default.0x488065
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x13c], eax
jmp case.default.0x488065
cmp eax, 4
jne case.default.0x488065
mov esi, dword [ebp - 0x30]
cmp dword [esi + 0x170], 1
je 0x489816
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x2d
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
nop word [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x4897e0
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459430
xor eax, eax
cmp dword [esi + 0xc0], eax
push 0
setne al
push eax
push 0xa
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.004591c0
push 0
sub esp, 0x44
mov dword [esi + 0xec], 1
cmp dword [esi + 0xc0], 1
mov edi, esp
mov dword [esi + 0x154], 0
mov ecx, edi
jne 0x48989c
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x489880
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x20
push 0x58f974
jmp 0x489947
mov eax, dword [esi + 0xc4]
mov dword [ebp - 0x2c], edi
cmp eax, 0x12c
jge 0x4898de
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4898c5
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x21
push 0x58f8a8
jmp 0x489947
cmp eax, 0x258
jge 0x489917
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x4898fe
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x22
push 0x58f8ec
jmp 0x489947
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x489930
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x23
push 0x58f930
mov ecx, edi
call fcn.0041a900
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0048cb30
mov dword [esi + 0x118], 4
mov dword [esi + 0x134], 0
mov dword [esi + 0x12c], 1
mov dword [esi + 0x154], 1
cmp dword [0x592ad4], 1
jne 0x489992
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x489998
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x13c], eax
mov dword [esi + 0x100], 0
mov dword [esi + 0x104], 1
mov dword [esi + 0x108], 0
mov dword [esi + 0x10c], 0
jmp case.default.0x488065
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x489cd3
mov edi, dword [ebp - 0x30]
xor eax, eax
cmp dword [edi + 0xc0], eax
mov ecx, dword [edi + 0x1b4]
setne al
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x489a2a
nop dword [eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x489a15
add eax, 4
inc edx
cmp eax, esi
jne 0x489a00
jmp 0x489a2a
cmp edx, 0xffffffff
je 0x489a2a
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 1
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
push dword [edi + 0x18c]
mov esi, dword [edi + 0xc0]
push 3
call fcn.0048ce80
push ecx
mov edx, 3
mov dword [edi + 0x18c], eax
test esi, esi
mov ecx, 0xa
cmove ecx, edx
add ecx, eax
push ecx
mov ecx, dword [edi + 0x1b4]
call fcn.00459a80
cmp dword [edi + 0xc0], 1
mov eax, dword [edi + 0x170]
jne 0x489b4a
cmp eax, 1
je 0x489af8
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x2d
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x489ac2
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
push dword [edi + 0x180]
push 3
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x489b33
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x24
jmp 0x4886f5
cmp eax, 1
je 0x489bd6
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
nop dword [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x489ba0
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
mov eax, dword [edi + 0x180]
mov ecx, dword [edi + 0xc4]
push eax
push 3
cmp ecx, 0x12c
jge 0x489c37
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x489c20
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x25
jmp 0x488b42
cmp ecx, 0x258
jge 0x489c89
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x489c72
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x26
jmp 0x488bae
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x489cbc
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x27
jmp 0x488c12
cmp eax, 2
jne 0x489f17
mov edi, dword [ebp - 0x30]
push dword [edi + 0x18c]
mov esi, dword [edi + 0xc0]
push 3
call fcn.0048ce80
push ecx
mov edx, 3
mov dword [edi + 0x18c], eax
test esi, esi
mov ecx, 0xa
cmove ecx, edx
add ecx, eax
push ecx
mov ecx, dword [edi + 0x1b4]
call fcn.00459a80
cmp dword [edi + 0x170], 1
je 0x489da6
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
nop dword [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x489d70
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x114], 6
mov dword [edi + 0x118], 2
mov dword [edi + 0x134], 0
mov dword [edi + 0x12c], 1
mov dword [edi + 0x154], 1
cmp dword [0x592ad4], 1
jne 0x489def
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x489df1
call esi
mov dword [edi + 0x13c], eax
cmp dword [0x592ad4], 1
jne 0x489e08
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x489e0a
call esi
mov ecx, dword [edi + 0xc4]
mov dword [edi + 0x148], eax
mov eax, dword [edi + 0x180]
mov dword [edi + 0x14c], 0
push eax
push 3
cmp ecx, 0x12c
jge 0x489e7b
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x489e64
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x28
jmp 0x488b42
cmp ecx, 0x258
jge 0x489ecd
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x489eb6
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x29
jmp 0x488bae
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x489f00
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x2a
jmp 0x488c12
cmp eax, 3
jne case.default.0x488065
mov esi, dword [ebp - 0x30]
cmp dword [esi + 0x108], 1
jne 0x489f48
xor eax, eax
cmp dword [esi + 0xc0], eax
push 0
setne al
push eax
push 0
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.004591c0
push 4
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459310
mov ecx, dword [esi + 0x1b4]
xor eax, eax
cmp dword [esi + 0xc0], eax
setne al
xor edx, edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov dword [ebp - 0x30], eax
cmp eax, edi
je 0x489faa
nop dword [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x489f95
add eax, 4
inc edx
cmp eax, edi
jne 0x489f80
jmp 0x489faa
cmp edx, 0xffffffff
je 0x489faa
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 0
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
mov ecx, dword [esi + 0x1b4]
xor eax, eax
cmp dword [esi + 0xc0], eax
setne al
xor edx, edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov dword [ebp - 0x30], eax
cmp eax, edi
je 0x489ffa
nop dword [eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x489fe5
add eax, 4
inc edx
cmp eax, edi
jne 0x489fd0
jmp 0x489ffa
cmp edx, 0xffffffff
je 0x489ffa
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 3
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
mov dword [esi + 0x154], 1
cmp dword [0x592ad4], 1
jne 0x48a015
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x48a01b
call dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [esi + 0xc0], 1
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x170]
mov dword [esi + 0xf4], 1
jne 0x48a107
cmp eax, 1
je 0x48a0c6
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x2d
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
nop dword [eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x48a090
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
push 6
sub esp, 0x44
mov edi, esp
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48a0eb
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x2b
push 0x58f754
jmp 0x48aaff
cmp eax, 1
je 0x48a18b
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x48a155
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
mov eax, dword [esi + 0xc4]
push 6
sub esp, 0x44
mov edi, esp
mov dword [ebp - 0x2c], edi
mov ecx, edi
cmp eax, 0x12c
jge 0x48a1d9
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48a1bd
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x2c
push 0x58f688
jmp 0x48aaff
cmp eax, 0x258
jge 0x48a215
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48a1f9
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x2d
push 0x58f6cc
jmp 0x48aaff
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48a22e
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x2e
jmp 0x48aafa
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x48a553
mov edi, dword [ebp - 0x30]
xor eax, eax
cmp dword [edi + 0xc0], eax
mov ecx, dword [edi + 0x1b4]
setne al
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x48a2aa
nop word [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x48a295
add eax, 4
inc edx
cmp eax, esi
jne 0x48a280
jmp 0x48a2aa
cmp edx, 0xffffffff
je 0x48a2aa
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 2
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
push dword [edi + 0x18c]
mov esi, dword [edi + 0xc0]
push 3
call fcn.0048ce80
push ecx
mov edx, 3
mov dword [edi + 0x18c], eax
test esi, esi
mov ecx, 0xa
cmove ecx, edx
add ecx, eax
push ecx
mov ecx, dword [edi + 0x1b4]
call fcn.00459a80
cmp dword [edi + 0xc0], 1
mov eax, dword [edi + 0x170]
jne 0x48a3ca
cmp eax, 1
je 0x48a378
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x2d
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x48a342
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
push dword [edi + 0x180]
push 3
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x48a3b3
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x2f
jmp 0x4886f5
cmp eax, 1
je 0x48a456
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
nop dword [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x48a420
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
mov eax, dword [edi + 0x180]
mov ecx, dword [edi + 0xc4]
push eax
push 3
cmp ecx, 0x12c
jge 0x48a4b7
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x48a4a0
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x30
jmp 0x488b42
cmp ecx, 0x258
jge 0x48a509
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x48a4f2
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x31
jmp 0x488bae
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x48a53c
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x32
jmp 0x488c12
cmp eax, 2
jne 0x48a797
mov edi, dword [ebp - 0x30]
push dword [edi + 0x18c]
mov esi, dword [edi + 0xc0]
push 3
call fcn.0048ce80
push ecx
mov edx, 3
mov dword [edi + 0x18c], eax
test esi, esi
mov ecx, 0xa
cmove ecx, edx
add ecx, eax
push ecx
mov ecx, dword [edi + 0x1b4]
call fcn.00459a80
cmp dword [edi + 0x170], 1
je 0x48a626
movd xmm0, dword [edi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [edi + 0xc4]
mov esi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [edi + 0x1c0]
mov dword [edi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub esi, eax
add ecx, 0x14
nop dword [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], esi
sub edx, 1
jne 0x48a5f0
mov edx, dword [edi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x124], 1
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x114], 7
mov dword [edi + 0x118], 2
mov dword [edi + 0x134], 0
mov dword [edi + 0x12c], 1
mov dword [edi + 0x154], 1
cmp dword [0x592ad4], 1
jne 0x48a66f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x48a671
call esi
mov dword [edi + 0x13c], eax
cmp dword [0x592ad4], 1
jne 0x48a688
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x48a68a
call esi
mov ecx, dword [edi + 0xc4]
mov dword [edi + 0x148], eax
mov eax, dword [edi + 0x180]
mov dword [edi + 0x14c], 0
push eax
push 3
cmp ecx, 0x12c
jge 0x48a6fb
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x48a6e4
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x33
jmp 0x488b42
cmp ecx, 0x258
jge 0x48a74d
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x48a736
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x34
jmp 0x488bae
call fcn.0048ce80
push 4
sub esp, 0x44
mov dword [ebp - 0x28], eax
mov esi, esp
mov dword [edi + 0x180], eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.0041ad80
cmp dword [esi + 0x38], 0
mov dword [esi], vtable.CStringUTF8.0
je 0x48a780
lea ecx, [esi + 0x34]
call fcn.0041a760
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x35
jmp 0x488c12
cmp eax, 3
jne case.default.0x488065
mov esi, dword [ebp - 0x30]
cmp dword [esi + 0x108], 1
jne 0x48a7c8
xor eax, eax
cmp dword [esi + 0xc0], eax
push 0
setne al
push eax
push 0
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.004591c0
push 3
push ecx
mov ecx, dword [esi + 0x1b4]
call fcn.00459310
mov ecx, dword [esi + 0x1b4]
xor eax, eax
cmp dword [esi + 0xc0], eax
setne al
xor edx, edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov dword [ebp - 0x30], eax
cmp eax, edi
je 0x48a82a
nop dword [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x48a815
add eax, 4
inc edx
cmp eax, edi
jne 0x48a800
jmp 0x48a82a
cmp edx, 0xffffffff
je 0x48a82a
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 0
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
mov ecx, dword [esi + 0x1b4]
xor edx, edx
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [ebp - 0x28], eax
cmp eax, edi
je 0x48a868
nop
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x48a855
add eax, 4
inc edx
cmp eax, edi
jne 0x48a840
jmp 0x48a868
cmp edx, 0xffffffff
je 0x48a868
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
call dword [eax + 0x140]
mov ecx, dword [esi + 0x1b4]
xor eax, eax
cmp dword [esi + 0xc0], eax
setne al
xor edx, edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
mov dword [ebp - 0x30], eax
cmp eax, edi
je 0x48a8ba
nop word [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x264], 0
je 0x48a8a5
add eax, 4
inc edx
cmp eax, edi
jne 0x48a890
jmp 0x48a8ba
cmp edx, 0xffffffff
je 0x48a8ba
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
push 4
mov ecx, dword [eax + edx*4]
call fcn.0045bbb0
mov dword [esi + 0x154], 1
cmp dword [0x592ad4], 1
jne 0x48a8d5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x48a8db
call dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [esi + 0xc0], 1
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x170]
mov dword [esi + 0xf8], 1
jne 0x48a9c7
cmp eax, 1
je 0x48a986
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x2d
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
nop dword [eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x48a950
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
push 6
sub esp, 0x44
mov edi, esp
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48a9ab
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x36
push 0x58f754
jmp 0x48aaff
cmp eax, 1
je 0x48aa4b
movd xmm0, dword [esi + 0x11c]
mov ecx, 0x3e8
mov eax, dword [esi + 0xc4]
mov edi, 0x1bc
cvtdq2ps xmm0, xmm0
add eax, 0x1e
mov edx, 0x14
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esi + 0x1c0]
mov dword [esi + 0xc4], eax
mulss xmm0, dword [0x54c9b4]
cvttss2si eax, xmm0
sub edi, eax
add ecx, 0x14
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [eax], 0x38
mov dword [eax + 4], edi
sub edx, 1
jne 0x48aa15
mov edx, dword [esi + 0x1c0]
push edx
mov dword [edx + 0x68], 1
mov ecx, dword [0x593458]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x124], 1
mov eax, dword [esi + 0xc4]
push 6
sub esp, 0x44
mov edi, esp
mov dword [ebp - 0x2c], edi
mov ecx, edi
cmp eax, 0x12c
jge 0x48aa96
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48aa7d
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x37
push 0x58f688
jmp 0x48aaff
cmp eax, 0x258
jge 0x48aacf
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48aab6
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x38
push 0x58f6cc
jmp 0x48aaff
call fcn.0041ad80
cmp dword [edi + 0x38], 0
mov dword [edi], vtable.CStringUTF8.0
je 0x48aae8
lea ecx, [edi + 0x34]
call fcn.0041a760
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x40], 0xffffffff
mov byte [ebp - 4], 0x39
push 0x58f710
mov ecx, edi
call fcn.0041a900
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0048cb30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004fe27d
mov esp, ebp
pop ebp
ret 8