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

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x11
add esp, 0xfffff004
push eax
dec eax
jne 0x40ad6d
add esp, 0xfffffc4c
mov eax, dword [ebp - 4]
mov eax, 0x52cd74
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
call fcn.0049b3b8
mov word [ebp - 0x18], 8
xor edx, edx
mov dword [ebp - 4], edx
inc dword [ebp - 0xc]
mov word [ebp - 0x18], 0x14
mov word [ebp - 0x18], 0x20
push 0x52b4fd
mov ecx, dword [ebp + 0x10]
push ecx
push esi
call fcn.00403510
add esp, 0xc
push esi
call fcn.004036e0
pop ecx
lea edx, [ebp - 0x113b8]
mov byte [ebp - 0x2d], 0
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x39], 0
push 0x10000
push 0
push edx
call fcn.0049af44
add esp, 0xc
xor eax, eax
lea edx, [ebp - 0x13b8]
mov byte [edx], 0x16
inc eax
inc edx
cmp eax, 0x1388
jl 0x40adec
push 1
lea ecx, [ebp - 0x13b8]
push ecx
push esi
call fcn.004035d4
add esp, 0xc
call fcn.004a2ec0
mov edi, eax
call fcn.004a2ec0
mov dword [ebp - 0x2c], eax
xor ebx, ebx
push 1
call sub.KERNEL32.DLL_Sleep
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x39], 0
jne 0x40aea7
cmp ebx, 0xe000
jle 0x40ae35
xor ebx, ebx
push 0x64
push ebx
lea eax, [ebp - 0x113b8]
push eax
push esi
call fcn.00403618
add esp, 0x10
mov ebx, eax
test ebx, ebx
jle 0x40ae6f
xor eax, eax
lea edx, [ebp - 0x113b8]
cmp ebx, eax
jle 0x40ae65
cmp byte [edx], 0x16
je 0x40ae65
inc eax
inc edx
cmp ebx, eax
jg 0x40ae5a
cmp ebx, eax
je 0x40ae6f
mov byte [ebp - 0x2d], 1
jmp 0x40aea7
call fcn.004a2ec0
sub eax, edi
cmp eax, 0xa
jle 0x40ae94
push 1
lea ecx, [ebp - 0x13b8]
push ecx
push esi
call fcn.004035d4
add esp, 0xc
call fcn.004a2ec0
mov edi, eax
call fcn.004a2ec0
sub eax, dword [ebp - 0x2c]
cmp eax, 0x320
jle 0x40ae1b
cmp byte [ebp - 0x2d], 0
je 0x40af8f
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x113b8]
mov byte [eax + 0x39], 0
push 0x10000
push 0
push edx
call fcn.0049af44
add esp, 0xc
xor eax, eax
lea edx, [ebp - 0x13b8]
mov byte [edx], 0x57
inc eax
inc edx
cmp eax, 0x1388
jl 0x40aed6
push 1
lea ecx, [ebp - 0x13b8]
push ecx
push esi
call fcn.004035d4
add esp, 0xc
call fcn.004a2ec0
mov edi, eax
call fcn.004a2ec0
mov dword [ebp - 0x2c], eax
xor ebx, ebx
push 1
call sub.KERNEL32.DLL_Sleep
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x39], 0
jne 0x40af8f
cmp ebx, 0xe000
jle 0x40af1f
xor ebx, ebx
push 0x64
push ebx
lea eax, [ebp - 0x113b8]
push eax
push esi
call fcn.00403618
add esp, 0x10
mov ebx, eax
test ebx, ebx
jle 0x40af59
xor eax, eax
lea edx, [ebp - 0x113b8]
cmp ebx, eax
jle 0x40af4f
cmp byte [edx], 0x57
je 0x40af4f
inc eax
inc edx
cmp ebx, eax
jg 0x40af44
cmp ebx, eax
je 0x40af59
mov byte [ebp - 0x2d], 0
jmp 0x40af8f
call fcn.004a2ec0
sub eax, edi
cmp eax, 0xa
jle 0x40af7e
push 1
lea ecx, [ebp - 0x13b8]
push ecx
push esi
call fcn.004035d4
add esp, 0xc
call fcn.004a2ec0
mov edi, eax
call fcn.004a2ec0
sub eax, dword [ebp - 0x2c]
cmp eax, 0x64
jle 0x40af05
cmp byte [ebp - 0x2d], 0
je 0x40af99
xor ebx, ebx
jmp 0x40afae
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x39], 0
je 0x40afa9
mov ebx, 0x64
jmp 0x40afae
mov ebx, 0xc8
mov eax, ebx
mov edx, 2
push eax
lea eax, [ebp - 4]
dec dword [ebp - 0xc]
call fcn.004a6e54
pop eax
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx
jmp 0x40affc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret