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

Disassembly:
push 8
mov eax, 0x5b8ea4
call fcn.00518b46
mov esi, ecx
mov eax, dword [esi + 0x21c]
mov ecx, dword [eax + 0x158]
cmp ecx, 7
jne 0x4c879a
mov edi, dword [eax + 0x2f0]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp + 8]
add edi, ecx
cmp eax, edi
jb 0x4c8983
mov eax, dword [esi + 0x2c0]
xor ebx, ebx
push ebx
push ebx
push 1
push ebx
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x2c8]
push ebx
mov dword [ebp - 0x14], eax
push 8
lea eax, [ebp - 0x14]
push eax
push 0x65
mov ecx, esi
call fcn.004c5ea2
mov eax, dword [esi + 0x2c0]
mov dword [esi + 0x2c4], eax
jmp 0x4c8983
cmp dword [eax + 0x15c], 7
jne 0x4c88b7
mov ecx, dword [esi + 0x2c4]
mov edx, dword [esi + 0x2c0]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ebx, ebx
cmp ecx, edx
je 0x4c880b
mov eax, dword [eax + 0x24c]
mov dword [ebp - 0x10], eax
call edi
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
add edx, ecx
cmp eax, edx
jb 0x4c880b
mov eax, dword [esi + 0x2c0]
push ebx
push ebx
push 1
push ebx
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x2c8]
push ebx
mov dword [ebp - 0x14], eax
push 8
lea eax, [ebp - 0x14]
push eax
push 0x65
mov ecx, esi
call fcn.004c5ea2
mov eax, dword [esi + 0x2c0]
mov dword [esi + 0x2c4], eax
jmp 0x4c8888
mov eax, dword [esi + 0x21c]
cmp dword [eax + 0x158], 3
je 0x4c8888
mov eax, dword [eax + 0x24c]
mov dword [ebp + 8], eax
call edi
mov ecx, dword [ebp + 8]
add ecx, 0x7530
cmp eax, ecx
jb 0x4c8888
mov eax, dword [esi + 0x21c]
cmp dword [eax + 0x158], 9
je 0x4c8888
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x1b
mov ecx, esi
call fcn.004c5ea2
test eax, eax
je 0x4c8888
push dword [esi + 0x21c]
push dword [esi + 0x2c]
sub esp, 0x24
mov ecx, esp
mov dword [ebp + 8], esp
push ebx
push str.CT.DoKeepAlive.Timeout.BeepFailed2
call fcn.0049eefc
mov dword [ebp - 4], ebx
or dword [ebp - 4], 0xffffffff
mov ecx, 0x6ed730
call fcn.004b4cba
mov byte [esi + 0x238], bl
mov eax, dword [esi + 0x21c]
mov eax, dword [eax + 0x2f0]
mov dword [ebp + 8], eax
call edi
mov ecx, dword [ebp + 8]
add ecx, 0x88b8
cmp eax, ecx
jb 0x4c8983
push ebx
mov ecx, esi
call fcn.004ecbfc
jmp 0x4c8983
mov ecx, dword [eax + 0x15c]
cmp ecx, 4
je 0x4c88da
cmp ecx, 5
je 0x4c88da
cmp ecx, 6
je 0x4c88da
cmp ecx, 1
je 0x4c88da
cmp ecx, 2
jne 0x4c8983
mov ecx, esi
call fcn.004c7b12
test al, al
jne 0x4c8983
mov eax, dword [esi + 0x21c]
cmp dword [eax + 0x158], 9
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x4c890f
mov edi, dword [eax + 0x24c]
call ebx
mov ecx, dword [ebp + 8]
add edi, ecx
cmp eax, edi
jae 0x4c8936
mov eax, dword [esi + 0x21c]
cmp dword [eax + 0x15c], 4
jne 0x4c8983
mov edi, dword [eax + 0x24c]
call ebx
mov ecx, eax
mov eax, dword [ebp + 8]
cdq
sub eax, edx
sar eax, 1
add eax, edi
cmp ecx, eax
jb 0x4c8983
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x1b
mov ecx, esi
call fcn.004c5ea2
test eax, eax
je 0x4c8983
push dword [esi + 0x21c]
push dword [esi + 0x2c]
sub esp, 0x24
mov ecx, esp
mov dword [ebp + 8], esp
push ebx
push 0x6566c0
call fcn.0049eefc
mov dword [ebp - 4], 1
or dword [ebp - 4], 0xffffffff
mov ecx, 0x6ed730
call fcn.004b4cba
mov byte [esi + 0x238], bl
call fcn.00518c1e
ret 4