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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x23a], 0
je 0x4926b6
mov eax, 4
sub eax, dword [ebp + 8]
call fcn.00402b78
test eax, eax
jne 0x4926b6
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [eax + 0x378], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x288]
cmp eax, dword [ebp - 8]
jne 0x4923da
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
add eax, 0xa
imul edx, eax, 0x3e8
mov eax, dword [ebp - 0xc]
call fcn.004bdbbc
mov byte [ebp - 0xd], 1
jmp 0x4926c8
mov eax, 2
call fcn.00402b78
test eax, eax
jne 0x492699
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x34]
mov edx, dword [ebp - 8]
movzx edx, byte [edx + 0x34]
add edx, 2
cmp eax, edx
ja 0x4926b0
mov eax, 3
call fcn.00402b78
test eax, eax
jne 0x492674
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x34]
add eax, 0x14
mov edx, dword [ebp + 8]
lea edx, [edx + edx*4]
add eax, edx
call fcn.00402b78
mov edx, dword [ebp - 0xc]
movzx edx, byte [edx + 0x34]
add edx, 0xa
cmp eax, edx
jle 0x492641
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x2c1], 0
jne 0x492615
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x26f], 0
jne 0x492615
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x34], 0x32
jae 0x492615
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x29c]
mov eax, dword [eax + 8]
mov edx, dword [ebp + 8]
add edx, 0
cmp eax, edx
jge 0x492615
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 0x1a8]
mov ecx, 0x64
xor edx, edx
div ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jg 0x4924ac
mov dword [ebp - 0x14], 2
jmp 0x4924b2
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x288]
cmp eax, dword [ebp - 8]
je 0x4925f2
mov eax, dword [ebp - 0x14]
call fcn.00402b78
test eax, eax
jne 0x4925f2
mov eax, dword [ebp - 0xc]
call fcn.004bdc54
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x288], 0
je 0x492505
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 0x1a4]
mov ecx, 0xa
xor edx, edx
div ecx
mov edx, dword [ebp - 0xc]
mov word [edx + 0x1a4], ax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x288], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x34]
add eax, eax
call fcn.00402b78
mov edx, dword [ebp + 8]
shl edx, 2
lea edx, [edx + edx*4]
add edx, 0x14
add eax, edx
imul eax, eax, 0x3c
imul ebx, eax, 0x3e8
call sub.kernel32.dll_GetTickCount
add ebx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x28c], ebx
mov al, byte [ebp + 8]
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x299], al
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x290], 0
jne 0x49256c
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x290], eax
mov eax, dword [ebp - 0xc]
call fcn.004bdbf8
imul eax, dword [ebp + 8], 0xc8
mov edx, 0x5dc
sub edx, eax
mov eax, dword [ebp - 0xc]
cmp edx, dword [eax + 0x4fc]
jge 0x4925a4
imul eax, dword [ebp + 8], 0xc8
mov edx, 0x5dc
sub edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x4fc], edx
imul eax, dword [ebp + 8], 0xc8
mov edx, 0x7d0
sub edx, eax
mov eax, dword [ebp - 0xc]
cmp edx, dword [eax + 0x514]
jge 0x4925d4
imul eax, dword [ebp + 8], 0xc8
mov edx, 0x7d0
sub edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x514], edx
mov eax, dword [ebp - 0xc]
call fcn.004bf0c4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x29c]
mov edx, dword [ebp - 0xc]
call fcn.00411558
jmp 0x4926b0
mov eax, 0x14
call fcn.00402b78
test eax, eax
jne 0x4926b0
mov eax, dword [ebp - 0xc]
mov word [eax + 0x1a4], 0
jmp 0x4926b0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x26f], 1
jne 0x4926b0
mov eax, 2
call fcn.00402b78
test eax, eax
jne 0x4926b0
mov eax, dword [ebp - 0xc]
mov word [eax + 0x1a4], 0
jmp 0x4926b0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x26f], 1
je 0x4926b0
mov eax, 2
call fcn.00402b78
test eax, eax
jne 0x4926b0
mov eax, 0x14
call fcn.00402b78
mov edx, eax
add edx, 0xa
mov eax, dword [ebp - 0xc]
call fcn.004bdc14
jmp 0x4926b0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x26f], 1
je 0x4926b0
mov eax, 0x14
call fcn.00402b78
mov edx, eax
add edx, 0xa
mov eax, dword [ebp - 0xc]
call fcn.004bdc14
jmp 0x4926b0
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
add eax, 0xa
imul edx, eax, 0x3e8
mov eax, dword [ebp - 0xc]
call fcn.004bdbbc
mov byte [ebp - 0xd], 1
jmp 0x4926c8
mov eax, 2
call fcn.00402b78
test eax, eax
jne 0x4926c8
mov byte [ebp - 0xd], 1
mov al, byte [ebp - 0xd]
pop ebx
mov esp, ebp
pop ebp
ret 0xc