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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4e119d
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [0x6c0524]
cmp byte [eax], 0
je 0x4e1152
xor edx, edx
push ebp
push 0x4e1105
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
add eax, 4
push eax
call sub.kernel32.dll_EnterCriticalSection
xor edx, edx
push ebp
push 0x4e10f4
push dword fs:[edx]
mov dword fs:[edx], esp
mov dword [ebp - 0xc], 2
mov eax, dword [select]
cmp dword [eax + 0x108], 0
jle 0x4e0fb6
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x2a8]
cmp eax, 0x64
jb 0x4e0fb6
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x2a8], eax
xor esi, esi
mov edi, 0xabc560
mov ebx, edi
cmp byte [ebx + 4], 0
je 0x4e0fad
cmp dword [ebx + 0x34], 0
je 0x4e0fad
mov ebx, dword [select]
mov ebx, dword [ebx + 0x108]
dec ebx
test ebx, ebx
jl 0x4e0fad
inc ebx
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.004e25c8
dec ebx
jne 0x4e0fa0
inc esi
add edi, 0x6c
cmp esi, 0x10
jne 0x4e0f80
mov dword [ebp - 0xc], 3
xor esi, esi
mov edi, 0xabc560
mov ebx, edi
mov dword [ebp - 0xc], 4
cmp byte [ebx + 4], 0
je 0x4e1016
cmp dword [ebx + 0x34], 0
je 0x4e1016
cmp dword [ebx], 0
je 0x4e1016
mov dword [ebp - 0xc], 5
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 8]
mov dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0x34]
push eax
mov ecx, ebx
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.004e17f8
test al, al
je 0x4e100d
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 8]
mov dword [ebx + 0x50], eax
jmp 0x4e1016
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 8]
mov dword [ebx + 0x50], eax
inc esi
add edi, 0x6c
cmp esi, 0x10
jne 0x4e0fc4
mov dword [ebp - 0xc], 6
xor esi, esi
mov edi, 0xabc560
cmp dword [edi], 0
je 0x4e10cd
mov dword [ebp - 0xc], 7
mov ebx, edi
cmp byte [ebx + 4], 0
je 0x4e10cd
mov dword [ebp - 0xc], 8
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebx + 0x3c]
cmp eax, 0xea60
jb 0x4e1072
mov eax, dword [ebx]
call fcn.004847cc
mov edx, dword [ebx]
mov eax, dword [ebp - 4]
call fcn.004e09b8
jmp 0x4e10cd
mov dword [ebp - 0xc], 9
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebx + 0x54]
cmp eax, 0x3e8
jb 0x4e10a6
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x54], eax
mov eax, dword [ebx + 0x5c]
mov dword [ebx + 0x58], eax
mov eax, dword [ebx + 0x64]
mov dword [ebx + 0x60], eax
xor eax, eax
mov dword [ebx + 0x5c], eax
xor eax, eax
mov dword [ebx + 0x64], eax
mov dword [ebp - 0xc], 0xa
cmp byte [ebx + 0x38], 0
je 0x4e10c6
mov byte [ebx + 0x38], 0
mov ecx, 3
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.004e21f8
mov dword [ebp - 0xc], 0xb
inc esi
add edi, 0x6c
cmp esi, 0x10
jne 0x4e102d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e10fb
mov eax, dword [ebp - 4]
add eax, 4
push eax
call sub.kernel32.dll_LeaveCriticalSection
ret
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebp - 8]
mov edx, dword [0x6c0d7c]
mov dword [edx], eax
mov eax, dword [0x6c0d7c]
mov eax, dword [eax]
mov edx, dword [0x6c0ce4]
cmp eax, dword [edx]
jle 0x4e1182
mov eax, dword [0x6c0d7c]
mov eax, dword [eax]
mov edx, dword [0x6c0ce4]
mov dword [edx], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e11a4
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004053b8
ret