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

Disassembly:
push 0x38
mov eax, 0x420f1c
call fcn.004123b5
mov edi, ecx
lea esi, [edi + 0xec]
push esi
call fcn.0041d26c
push esi
push 0x403b40
push 2
call fcn.0040d97e
call fcn.0041099f
lea ebx, [edi + 0x78]
cmp dword [ebx], 0
jne 0x40c5e3
call fcn.0041d692
push esi
mov bl, al
call fcn.0041d26c
mov dword [ebp - 0x3c], 0x403bcc
test bl, bl
jne 0x40c5da
mov dword [ebp - 0x3c], 0x403bdc
mov dword [ebp - 0x34], 0x403bf0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
push esi
push 0x403c00
push 2
call fcn.0040d9e9
jmp 0x40c8ab
mov dword [ebp - 0x34], 0x4023fc
jmp 0x40c5c0
mov eax, 0x493e0
cmp dword [ebx], eax
jbe 0x40c5ee
mov dword [ebx], eax
push esi
call fcn.0041d26c
cmp byte [edi + 0x6d], 0
mov dword [ebp - 0x34], 0x403cb0
jne 0x40c608
mov dword [ebp - 0x34], 0x403cc0
push ebx
lea eax, [ebp - 0x34]
push eax
push esi
push 0x403cd0
push 2
call fcn.0040da60
call fcn.0041099f
and dword [ebp - 0x1c], 0
xor eax, eax
push 0x40247c
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.0041ddd1
and dword [ebp - 4], 0
push 0
lea eax, [ebp - 0x2c]
push eax
lea ebx, [edi + 0x7c]
push ebx
call fcn.00409ab7
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x36], al
call fcn.0041ddd1
and dword [ebp - 0x1c], 0
xor eax, eax
push 0x402494
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.0041ddd1
push 0
lea eax, [ebp - 0x2c]
push eax
push ebx
mov dword [ebp - 4], 1
call fcn.00409ab7
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x35], al
call fcn.0041ddd1
and dword [ebp - 0x1c], 0
xor eax, eax
push 0x402488
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.0041ddd1
push 0
lea eax, [ebp - 0x2c]
push eax
push ebx
mov dword [ebp - 4], 2
call fcn.00409ab7
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x37], al
call fcn.0041ddd1
cmp byte [ebp - 0x36], 0
jne 0x40c713
cmp byte [ebp - 0x35], 0
jne 0x40c713
cmp byte [ebp - 0x37], 0
jne 0x40c713
push esi
call fcn.0041d26c
push ebx
push esi
push 0x403e00
push 2
call fcn.0040db48
jmp 0x40c755
push 0xffffffffffffffff
push 5
lea eax, [ebp - 0x2c]
push eax
mov ecx, ebx
call fcn.0041ddd1
push eax
mov ecx, ebx
mov dword [ebp - 4], 3
call fcn.0041ddd1
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.0041ddd1
push esi
call fcn.0041d26c
push ebx
push esi
push 0x403d98
push 2
call fcn.0040dad7
call fcn.0041099f
cmp byte [edi + 0x6d], 0
sete byte [ebp - 0x2d]
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x3c], eax
jmp 0x40c81d
call fcn.0041d692
test al, al
je 0x40c799
push esi
call fcn.0041d26c
lea eax, [ebp - 0x34]
push eax
push esi
push 0x403e68
push 2
mov dword [ebp - 0x34], 0x64
call fcn.0040d27f
jmp 0x40c809
cmp byte [ebp - 0x36], 0
push ebx
je 0x40c7ac
mov ecx, 0x428320
call fcn.0041d5e1
jmp 0x40c7cb
cmp byte [ebp - 0x35], 0
je 0x40c7b9
mov ecx, 0x4282f0
jmp 0x40c7a5
cmp byte [ebp - 0x37], 0
je 0x40c7c6
mov ecx, 0x4282c0
jmp 0x40c7a5
call fcn.0041ddd1
mov byte [ebp - 0x2d], al
push esi
cmp al, byte [edi + 0x6d]
je 0x40c831
call fcn.0041d26c
cmp byte [edi + 0x6d], 0
mov dword [ebp - 0x44], 0x64
mov dword [ebp - 0x34], 0x403cb0
jne 0x40c7f4
mov dword [ebp - 0x34], 0x403cc0
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x34]
push eax
push esi
push 0x403f50
push 2
call fcn.0040dc2a
call fcn.0041099f
push 1
push 0x64
call dword [sym.imp.kernel32.dll_SleepEx]
call fcn.0041099f
call dword [sym.imp.kernel32.dll_GetTickCount]
sub eax, dword [ebp - 0x3c]
cmp eax, dword [edi + 0x78]
jb 0x40c770
jmp 0x40c860
call fcn.0041d26c
cmp byte [edi + 0x6d], 0
mov dword [ebp - 0x34], 0x403cb0
jne 0x40c84a
mov dword [ebp - 0x34], 0x403cc0
lea eax, [ebp - 0x34]
push eax
push esi
push 0x403ef0
push 2
call fcn.0040dbb9
call fcn.0041099f
mov al, byte [ebp - 0x2d]
cmp al, byte [edi + 0x6d]
je 0x40c898
push esi
call fcn.0041d26c
cmp byte [edi + 0x6d], 0
mov dword [ebp - 0x40], 0x403cb0
jne 0x40c882
mov dword [ebp - 0x40], 0x403cc0
lea eax, [ebp - 0x40]
push eax
push esi
push 0x403fe0
push 2
call fcn.0040dca1
call fcn.0041099f
push esi
call fcn.0041d26c
push esi
push 0x404050
push 2
call fcn.0040dd12
call fcn.0041099f
call fcn.00412438
ret