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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 4], 0
push dword [ebp + 8]
call fcn.0049acde
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x49acce
cmp dword [ebp + 0xc], 3
jne 0x49aa59
call fcn.0049ad7e
mov dword [0x83a201], 0
jmp 0x49ac73
cmp dword [ebp + 0xc], 1
jne 0x49ab99
mov ebx, dword [0x83a1f5]
call fcn.004709f1
push ebx
push ecx
mov eax, dword [ebp - 4]
dec eax
jns 0x49aa83
push 4
call fcn.006b4b89
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x49aa96
push 1
call fcn.006b4b89
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x1c
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
jne 0x49ab01
mov eax, dword [ebp + 0x10]
cmp dword [0x83a205], eax
jne 0x49aac8
mov eax, 0
jmp 0x49acd8
mov eax, dword [ebp + 0x10]
mov dword [0x83a205], eax
call fcn.0049ad7e
mov eax, dword [ebp - 4]
mov dword [0x83a201], eax
mov eax, dword [ebp + 8]
mov dword [0x83a209], eax
push 0
mov ebx, 0x308
call sub.kernel32.dll_GetTickCount
add esp, 4
mov dword [0x83a20d], eax
jmp 0x49ab94
mov ebx, dword [0x83a1f5]
call fcn.004709f1
push ebx
push ecx
mov eax, dword [ebp - 4]
dec eax
jns 0x49ab21
push 4
call fcn.006b4b89
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x49ab34
push 1
call fcn.006b4b89
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x1c
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 2
jne 0x49ab94
mov eax, dword [ebp + 0x10]
cmp dword [0x83a205], eax
jne 0x49ab66
mov eax, 0
jmp 0x49acd8
mov eax, dword [ebp + 0x10]
mov dword [0x83a205], eax
cmp dword [0x83a211], 0
je 0x49ab94
call fcn.0049ad7e
mov dword [0x83a201], 0
mov dword [0x83a209], 0
jmp 0x49ac73
cmp dword [ebp + 0xc], 2
jne 0x49ac73
mov ebx, dword [0x83a1f5]
call fcn.004709f1
push ebx
push ecx
mov eax, dword [ebp - 4]
dec eax
jns 0x49abc3
push 4
call fcn.006b4b89
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x49abd6
push 1
call fcn.006b4b89
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x1c
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 1
je 0x49ac3f
mov ebx, dword [0x83a1f5]
call fcn.004709f1
push ebx
push ecx
mov eax, dword [ebp - 4]
dec eax
jns 0x49ac0f
push 4
call fcn.006b4b89
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x49ac22
push 1
call fcn.006b4b89
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x1c
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 2
je 0x49ac3f
xor eax, eax
jmp 0x49ac44
mov eax, 1
test eax, eax
je 0x49ac73
mov eax, dword [ebp - 4]
mov dword [0x83a201], eax
mov eax, dword [ebp + 8]
mov dword [0x83a209], eax
push 0
mov ebx, 0x308
call sub.kernel32.dll_GetTickCount
add esp, 4
mov dword [0x83a20d], eax
mov ebx, dword [0x83a1f5]
call fcn.004709f1
push ebx
push ecx
mov eax, dword [ebp - 4]
dec eax
jns 0x49ac93
push 4
call fcn.006b4b89
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x49aca6
push 1
call fcn.006b4b89
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 8], ebx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov ebx, dword [ebp - 8]
push dword [ebx]
call fcn.00477484
jmp 0x49acd8
mov eax, 0
jmp 0x49acd8
mov esp, ebp
pop ebp
ret 0x10