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

Disassembly:
push 0x40
mov eax, 0x411ca1
call fcn.00410601
mov dword [ebp - 0x14], ecx
xor ebx, ebx
xor eax, eax
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x4c], 0x1194
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 0x402ce8
mov dword [ebp - 0x40], 0x1f4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], 0x402cd0
mov dword [ebp - 0x34], 0x87
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 0x402c78
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], ebx
mov esi, dword [ebp + 8]
test byte [esi], al
je 0x40f6f5
mov eax, dword [esi + 8]
cmp eax, ebx
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x18], eax
jne 0x40f6f5
lea eax, [ebp - 0x10]
push eax
call fcn.0040ea74
mov edi, eax
cmp edi, ebx
jl 0x40f85c
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x1c], ebx
mov byte [ebp + 0xb], 0
mov dword [ebp - 0x20], ebx
jbe 0x40f730
lea ebx, [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
push ebx
push dword [esi + 4]
call fcn.0040f466
mov edi, eax
test edi, edi
jne 0x40f71c
mov byte [ebp + 0xb], 1
jmp 0x40f722
jl 0x40f85c
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add ebx, 0xc
cmp eax, dword [ebp - 0x1c]
jb 0x40f704
cmp dword [ebp - 0x18], 0
je 0x40f75c
push dword [esi + 0x10]
mov ecx, dword [ebp - 0x14]
push dword [esi + 0xc]
push dword [ebp - 0x18]
push dword [esi + 4]
call fcn.0040f4fa
mov edi, eax
test edi, edi
jne 0x40f756
mov byte [ebp + 0xb], 1
jmp 0x40f75c
jl 0x40f85c
test byte [esi], 2
je 0x40f77e
push dword [esi + 4]
mov ecx, dword [ebp - 0x14]
call fcn.0040f587
mov edi, eax
test edi, edi
jne 0x40f778
mov byte [ebp + 0xb], 1
jmp 0x40f77e
jl 0x40f85c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
xor edi, edi
and dword [ebp - 0x20], edi
lea ebx, [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
jae 0x40f7c6
mov ecx, dword [ebp - 0x14]
push 0
push dword [ebx + 4]
push dword [ebx]
call fcn.0040f24f
mov edi, eax
test edi, edi
jl 0x40f85c
cmp edi, 1
je 0x40f7c1
inc dword [ebp - 0x20]
add ebx, 0xc
test edi, edi
je 0x40f78f
jmp 0x40f7c6
mov edi, 0x8004075c
test edi, edi
jne 0x40f812
cmp dword [ebp - 0x18], edi
je 0x40f7ef
mov ecx, dword [ebp - 0x14]
push edi
push dword [ebp - 0x18]
call fcn.0040f272
mov edi, eax
test edi, edi
jl 0x40f85c
cmp edi, 1
jne 0x40f7eb
mov edi, 0x8004075b
test edi, edi
jne 0x40f812
test byte [esi], 2
je 0x40f85c
mov ecx, dword [ebp - 0x14]
push 0
call fcn.0040f339
mov edi, eax
test edi, edi
jne 0x40f85c
cmp edi, 1
jne 0x40f80e
mov edi, 0x8004075d
test edi, edi
je 0x40f85c
cmp byte [ebp + 0xb], 0
je 0x40f838
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x28]
cmp eax, 0x7d0
jae 0x40f838
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40f787
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
and dword [ebp - 0x24], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x24]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
jl 0x40f85c
cmp word [ebp - 0x24], 0
je 0x40f85c
mov edi, 0x8004075a
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x10]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, edi
call fcn.0041066a
ret 4