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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x24]
mov edx, dword [0x49d75c]
call fcn.00404c50
xor eax, eax
push ebp
push 0x4f7922
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x3d9], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e0]
call fcn.004f3d84
dec eax
jge 0x4f74ff
mov eax, dword [ebp - 4]
mov byte [eax + 0x3d9], 1
mov eax, dword [0x50759c]
cmp dword [eax], 0
jne 0x4f749a
mov eax, 0x4f7938
call fcn.00481cb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f794c
call fcn.0045b574
jmp 0x4f74e0
mov eax, dword [0x50759c]
cmp dword [eax], 1
jne 0x4f74c3
mov eax, 0x4f795c
call fcn.00481cb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f7970
call fcn.0045b574
jmp 0x4f74e0
mov eax, 0x4f7980
call fcn.00481cb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f7994
call fcn.0045b574
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
cmp byte [eax + 0x57], 0
je 0x4f7906
xor edx, edx
call fcn.0045b464
jmp 0x4f7906
mov eax, dword [ebp - 4]
mov byte [eax + 0x3c0], 1
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004f9610
mov eax, dword [0x5076c4]
mov eax, dword [eax]
call fcn.0047c5d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e0]
call fcn.004f3d88
mov eax, dword [ebp - 4]
call fcn.004f6784
xor edx, edx
push ebp
push 0x4f78eb
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3e0]
mov dl, 1
mov eax, dword [0x4f455c]
call fcn.004f45d0
mov dword [ebp - 8], eax
xor edx, edx
push ebp
push 0x4f7862
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
call fcn.004f478c
jmp 0x4f7834
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 8]
call fcn.004f4a30
cmp byte [ebp - 0x1c], 0
jne 0x4f7844
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x374]
mov edx, dword [ebp - 0x18]
call fcn.0045b574
cmp byte [ebp - 0x14], 2
je 0x4f77ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
mov eax, dword [eax + 0x168]
xor edx, edx
call fcn.0042b5d4
mov eax, dword [ebp - 0x10]
sub eax, 0xfffffff3
je 0x4f75df
sub eax, 2
je 0x4f764b
sub eax, 0xb
je 0x4f76b7
jmp 0x4f778d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
xor edx, edx
call fcn.0045b464
mov eax, dword [0x50759c]
cmp dword [eax], 0
jne 0x4f7611
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f794c
call fcn.0045b574
jmp 0x4f77ee
mov eax, dword [0x50759c]
cmp dword [eax], 1
jne 0x4f7633
mov edx, 0x4f7970
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
call fcn.0045b574
jmp 0x4f77ee
mov edx, 0x4f7994
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
call fcn.0045b574
jmp 0x4f77ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
xor edx, edx
call fcn.0045b464
mov eax, dword [0x50759c]
cmp dword [eax], 0
jne 0x4f767d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f79a8
call fcn.0045b574
jmp 0x4f77ee
mov eax, dword [0x50759c]
cmp dword [eax], 1
jne 0x4f769f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f79c0
call fcn.0045b574
jmp 0x4f77ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f79d8
call fcn.0045b574
jmp 0x4f77ee
xor edx, edx
push ebp
push 0x4f771a
push dword fs:[edx]
mov dword fs:[edx], esp
mov ebx, dword [ebp - 0x24]
mov eax, ebx
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x4f76da
cmp eax, 0
jbe 0x4f76f7
jmp 0x4f76dc
jle 0x4f76f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
mov eax, dword [eax + 0x168]
call fcn.0042b5a4
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
cmp byte [eax + 0x57], 0
jne 0x4f770d
mov dl, 1
call fcn.0045b464
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4f77ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
xor edx, edx
call fcn.0045b464
mov eax, dword [0x50759c]
cmp dword [eax], 0
jne 0x4f77bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f7a00
call fcn.0045b574
jmp 0x4f77ee
mov eax, dword [0x50759c]
cmp dword [eax], 1
jne 0x4f77db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f7a18
call fcn.0045b574
jmp 0x4f77ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
mov edx, 0x4f7a2c
call fcn.0045b574
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.004f4a98
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 5
jae 0x4f7811
mov dword [ebp - 0xc], 5
test ebx, ebx
jle 0x4f7822
mov eax, 0x3e8
cdq
idiv ebx
sub eax, dword [ebp - 0xc]
mov ebx, eax
push ebx
call sub.kernel32.dll_Sleep_1
mov eax, dword [0x5076c4]
mov eax, dword [eax]
call fcn.0047c5d0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3d9], 0
je 0x4f7576
mov eax, dword [ebp - 8]
call fcn.004f48c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f7869
mov eax, dword [ebp - 8]
call fcn.00403484
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f7929
lea eax, [ebp - 0x24]
mov edx, dword [0x49d75c]
call fcn.00404d20
ret