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

Disassembly:
push ebx
add esp, 0xfffffff8
mov ebx, eax
mov eax, ebx
call fcn.0060f12c
cmp byte [ebx + 0x2e4], 0
jne 0x4fcac9
cmp byte [ebx + 0x2ec], 0
jne 0x4fcac9
cmp byte [ebx + 0x2a5], 0
jne 0x4fcac9
cmp byte [ebx + 0x31a], 0
jne 0x4fcac9
mov eax, ebx
call fcn.006092bc
test al, al
je 0x4fcac9
mov eax, ebx
call fcn.004fc5a8
test al, al
je 0x4fc74f
mov eax, ebx
call fcn.00619ce0
jmp 0x4fcad0
cmp byte [ebx + 0xb5c], 0
je 0x4fc772
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebx + 0xb58]
cmp eax, dword [ebx + 0xb54]
jbe 0x4fc772
mov byte [ebx + 0xb5c], 0
cmp byte [ebx + 0xb5c], 0
jne 0x4fcac9
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebx + 0x400]
cmp eax, dword [ebx + 0xb48]
jle 0x4fcac9
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x400], eax
inc dword [ebx + 0xb50]
mov eax, dword [ebx + 0xb50]
cmp eax, dword [ebx + 0xb4c]
jle 0x4fc7cf
xor eax, eax
mov dword [ebx + 0xb50], eax
mov byte [ebx + 0xb5c], 1
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0xb58], eax
cmp byte [ebx + 0xbf4], 0
jne 0x4fca4b
cmp byte [ebx + 0x2a8], 0
jne 0x4fc833
cmp dword [ebx + 0x380], 0
je 0x4fc808
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x98]
test al, al
je 0x4fc833
mov eax, ebx
call fcn.00619ce0
jmp 0x4fcad0
mov dword [ebx + 0xbec], 0xffffffff
cmp byte [ebx + 0x30e], 0
je 0x4fc833
mov eax, dword [ebx + 0x310]
mov dword [ebx + 0xbec], eax
mov eax, dword [ebx + 0x314]
mov dword [ebx + 0xbf0], eax
cmp dword [ebx + 0x278], 0
je 0x4fca76
mov eax, dword [ebx + 0x2e0]
cmp byte [eax + 0x104], 0
je 0x4fc940
mov edx, dword [ebx + 0x278]
cmp eax, dword [edx + 0x2e0]
je 0x4fc940
lea ecx, [esp + 4]
mov edx, esp
mov eax, dword [ebx + 0x278]
call fcn.006108ec
mov eax, dword [ebx + 0xbec]
sub eax, dword [esp]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4fc899
mov eax, dword [ebx + 0xbf0]
sub eax, dword [esp + 4]
cdq
xor eax, edx
sub eax, edx
dec eax
jle 0x4fc8f8
mov eax, dword [esp]
mov dword [ebx + 0xbec], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0xbf0], eax
mov eax, dword [ebx + 0x24]
sub eax, dword [esp]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x4fc8f8
mov eax, dword [ebx + 0x28]
sub eax, dword [esp + 4]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x4fc8f8
push 1
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov eax, dword [ebx + 0x2e0]
call fcn.0066f8e0
test eax, eax
je 0x4fc8f8
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0xbec], eax
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0xbf0], eax
mov eax, dword [ebx + 0xbf0]
push eax
push 1
mov eax, dword [ebx + 0x278]
mov edx, dword [eax + 0x2e0]
mov ecx, dword [ebx + 0xbec]
mov eax, ebx
call fcn.00617f30
mov eax, dword [ebx + 0x278]
cmp byte [eax + 0x290], 0
je 0x4fca76
push 1
xor ecx, ecx
mov edx, 0x4fcadc
call fcn.0060cf8c
jmp 0x4fca76
cmp dword [ebx + 0x380], 0
jne 0x4fc9e0
lea ecx, [esp + 4]
mov edx, esp
mov eax, dword [ebx + 0x278]
call fcn.006108ec
mov eax, dword [ebx + 0xbec]
sub eax, dword [esp]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4fc981
mov eax, dword [ebx + 0xbf0]
sub eax, dword [esp + 4]
cdq
xor eax, edx
sub eax, edx
dec eax
jle 0x4fc9e0
mov eax, dword [esp]
mov dword [ebx + 0xbec], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0xbf0], eax
mov eax, dword [ebx + 0x24]
sub eax, dword [esp]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x4fc9e0
mov eax, dword [ebx + 0x28]
sub eax, dword [esp + 4]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x4fc9e0
push 1
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov eax, dword [ebx + 0x2e0]
call fcn.0066f8e0
test eax, eax
je 0x4fc9e0
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0xbec], eax
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0xbf0], eax
mov eax, dword [ebx + 0x278]
cmp byte [eax + 0x290], 0
jne 0x4fca76
mov ecx, dword [ebx + 0x278]
mov eax, dword [ecx + 0x2e0]
cmp eax, dword [ebx + 0x2e0]
jne 0x4fca27
mov eax, dword [ebx + 0x24]
sub eax, dword [ecx + 0x24]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x14
jg 0x4fca27
mov eax, dword [ebx + 0x28]
sub eax, dword [ecx + 0x28]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x14
jle 0x4fca76
mov eax, dword [ebx + 0xbf0]
push eax
push 1
mov eax, dword [ebx + 0x278]
mov edx, dword [eax + 0x2e0]
mov ecx, dword [ebx + 0xbec]
mov eax, ebx
call fcn.00617f30
jmp 0x4fca76
cmp dword [ebx + 0xbfc], 0
jbe 0x4fca76
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebx + 0xbf8]
cmp eax, dword [ebx + 0xbfc]
jbe 0x4fca76
mov byte [ebx + 0xbf4], 0
xor eax, eax
mov dword [ebx + 0xbfc], eax
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x4fca92
cmp byte [eax + 0x290], 0
je 0x4fca92
mov eax, ebx
call fcn.00619ce0
jmp 0x4fcad0
cmp dword [ebx + 0xbec], 0xffffffff
je 0x4fcaa7
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x88]
jmp 0x4fcac9
cmp dword [ebx + 0x380], 0
jne 0x4fcac9
mov eax, dword [ebx + 0x2e0]
cmp byte [eax + 0x104], 0
jne 0x4fcac9
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x8c]
mov eax, ebx
call fcn.00619ce0
pop ecx
pop edx
pop ebx
ret