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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.004042a4
xor eax, eax
push ebp
push 0x73ccbc
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 1
mov byte [ebp - 0xa], 0
mov eax, dword [ebp - 4]
mov byte [eax], 1
mov dword [ebp - 0x14], 0xfffffcf7
mov byte [ebp - 0xb], 0
mov byte [ebp - 0xc], 0
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x951cc4], eax
mov eax, 0x951cc8
call fcn.00403e74
lea eax, [ebp - 0x1c]
call fcn.00403e74
mov byte [ebp - 0x18], 1
call fcn.0073b630
test al, al
je 0x73c9e3
call fcn.0073b560
mov word [ebp - 0x16], ax
cmp word [ebp - 0x16], 0
jge 0x73c982
mov byte [ebp - 0x18], 0
jmp 0x73c988
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x17], al
cmp byte [ebp - 0x18], 0
je 0x73ca86
cmp byte [0x951ad4], 0
je 0x73c9b1
lea eax, [ebp - 0x24]
mov dl, byte [ebp - 0x17]
call fcn.00404018
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
call fcn.004040f8
lea eax, [ebp - 0x24]
mov dl, byte [ebp - 0x17]
call fcn.00404018
mov edx, dword [ebp - 0x24]
mov eax, 0x951cc8
call fcn.004040f8
cmp byte [ebp - 0x17], 0x55
jne 0x73c9d3
mov byte [ebp - 0xb], 1
cmp byte [ebp - 0xb], 0
jne 0x73c9e3
mov eax, 0x951cc8
call fcn.00403e74
mov eax, dword [0x951cc8]
call fcn.004040f0
cmp eax, 8
jne 0x73ca20
cmp dword [ebp - 0x14], 0xfffffcf7
jne 0x73ca20
mov eax, dword [0x951cc8]
movzx eax, byte [eax + 5]
shl eax, 8
mov edx, dword [0x951cc8]
movzx edx, byte [edx + 4]
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, 0x951cc8
call fcn.00403e74
mov eax, dword [0x951cc8]
call fcn.004040f0
mov edx, dword [ebp - 0x14]
inc edx
cmp eax, edx
jl 0x73ca3b
cmp dword [ebp - 0x14], 0xfffffcf7
jne 0x73ca41
cmp dword [ebp - 0x14], 0
jne 0x73ca86
mov eax, dword [0x951cc8]
call fcn.004040f0
dec eax
jle 0x73ca80
mov eax, dword [0x951cc8]
mov edx, dword [ebp - 0x14]
movzx eax, byte [eax + edx]
mov dword [0x951ccc], eax
push 0x951cc8
mov eax, dword [0x951cc8]
call fcn.004040f0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [0x951cc8]
call fcn.004042f4
mov eax, dword [ebp - 4]
mov byte [eax], 0
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [0x951cc4]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xfa0
jle 0x73caa1
mov byte [ebp - 0xa], 1
mov eax, dword [0x8417e4]
mov eax, dword [eax]
call fcn.0042d188
cmp byte [0x951cd6], 0
je 0x73cafc
lea edx, [ebp - 8]
mov eax, dword [0x84100c]
call fcn.00405e74
push 0x40
lea edx, [ebp - 0x24]
mov eax, dword [0x840618]
call fcn.00405e74
mov eax, dword [ebp - 0x24]
call fcn.004042b4
push eax
mov eax, dword [ebp - 8]
call fcn.004042b4
mov edx, eax
mov eax, dword [0x8417e4]
mov eax, dword [eax]
pop ecx
call fcn.0042d500
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
mov byte [eax], 0
mov eax, dword [ebp - 4]
mov al, byte [eax]
xor al, 1
or al, byte [ebp - 0xa]
je 0x73c95f
cmp byte [ebp - 0xa], 0
je 0x73cb6a
lea edx, [ebp - 0x24]
mov eax, dword [0x841654]
call fcn.00405e74
push dword [ebp - 0x24]
push 0x73ccd4
push dword [ebp - 8]
lea eax, [ebp - 8]
mov edx, 3
call fcn.004041b0
push 0x40
lea edx, [ebp - 0x24]
mov eax, dword [0x840ca0]
call fcn.00405e74
mov eax, dword [ebp - 0x24]
call fcn.004042b4
push eax
mov eax, dword [ebp - 8]
call fcn.004042b4
mov edx, eax
mov eax, dword [0x8417e4]
mov eax, dword [eax]
pop ecx
call fcn.0042d500
mov byte [ebp - 9], 0
cmp byte [0x951ad4], 0
je 0x73cc96
lea eax, [ebp - 0x24]
mov edx, 0x951ad8
call fcn.00404094
mov edx, dword [ebp - 0x24]
mov eax, 0x951af8
call fcn.0040619e
mov eax, 0x951af8
call fcn.004066f5
call fcn.00402898
mov eax, 0x951af8
call fcn.0040699f
call fcn.00402898
mov edx, 0x73cce0
mov eax, 0x951af8
call fcn.004044b0
call fcn.0040699f
call fcn.00402898
mov eax, dword [ebp - 0x1c]
call fcn.004040f0
test eax, eax
jle 0x73cc78
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
movzx eax, byte [eax + edx - 1]
lea ecx, [ebp - 0x24]
mov edx, 2
call fcn.004094d8
lea eax, [ebp - 0x24]
mov edx, 0x73ccd4
call fcn.004040f8
mov edx, dword [ebp - 0x24]
mov eax, 0x951af8
call fcn.004044b0
call fcn.00406219
call fcn.00402898
mov eax, dword [ebp - 0x10]
and eax, 0x80000007
jns 0x73cc2d
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
jne 0x73cc4a
mov edx, 0x73ccf8
mov eax, 0x951af8
call fcn.004044b0
call fcn.00406219
call fcn.00402898
mov eax, dword [ebp - 0x10]
and eax, 0x8000000f
jns 0x73cc59
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
jne 0x73cc6c
mov eax, 0x951af8
call fcn.0040699f
call fcn.00402898
inc dword [ebp - 0x10]
dec dword [ebp - 0x20]
jne 0x73cbe2
mov eax, 0x951af8
call fcn.0040699f
call fcn.00402898
mov eax, 0x951af8
call fcn.00406308
call fcn.00402898
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x73ccc3
lea eax, [ebp - 0x24]
call fcn.00403e74
lea eax, [ebp - 0x1c]
call fcn.00403e74
lea eax, [ebp - 8]
call fcn.00403e74
ret