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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
movsx eax, bl
mov edx, dword [0x4be408]
cmp esi, dword [edx + eax*4 + 0xa8]
jb 0x49f82c
mov eax, dword [0x4beab8]
cmp byte [eax], 0
jne 0x49f82c
mov byte [ebp - 1], 0
jmp 0x49fb12
mov ecx, edi
mov edx, esi
mov eax, ebx
call fcn.0049f7c0
mov eax, dword [0x4bebd0]
cmp byte [eax], 0
je 0x49f870
movsx eax, bl
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
push eax
mov eax, 0xc800
pop edx
mov ecx, edx
xor edx, edx
div ecx
cmp edi, eax
ja 0x49f870
movsx eax, bl
mov edx, dword [0x4be9c4]
cmp byte [edx + eax + 0x2a], 0
je 0x49f8c9
movsx eax, bl
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jge 0x49f88f
push 0x7f02
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
mov edx, esi
mov eax, ebx
call fcn.0049f4e8
mov byte [ebp - 1], al
movsx eax, bl
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jge 0x49fb12
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
jmp 0x49fb12
cmp dword [0x4c2580], 0
jne 0x49f8ea
push 4
push 0x1000
push 0xc800
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x4c2580], eax
cmp bl, byte [0x4c2554]
jne 0x49f929
cmp esi, dword [0x4c2588]
jb 0x49f929
xor eax, eax
mov al, byte [0x4c258c]
add eax, dword [0x4c2588]
lea edx, [edi + esi]
cmp eax, edx
jb 0x49f929
call sub.kernel32.dll_GetTickCount
sub eax, dword [0x4c2584]
cmp eax, 0x9c4
jae 0x49f929
mov byte [ebp - 1], 1
jmp 0x49faa5
mov dword [ebp - 0xc], esi
xor eax, eax
mov dword [ebp - 8], eax
fild qword [ebp - 0xc]
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
push 0
push 0
movsx eax, bl
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
push eax
mov eax, 0xc800
pop edx
mov ecx, edx
xor edx, edx
div ecx
mov ecx, 3
xor edx, edx
div ecx
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
mov eax, dword [0x4be4c4]
fild qword [eax]
fsubrp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004aa5c8
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004aefa8
mov dword [0x4c2588], eax
mov eax, dword [0x4c2588]
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 8], eax
fild qword [ebp - 0xc]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov dword [ebp - 0x18], edi
xor eax, eax
mov dword [ebp - 0x14], eax
fild qword [ebp - 0x18]
mov eax, dword [0x4be4c4]
fild qword [eax]
faddp st(1)
movsx eax, bl
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
push eax
mov eax, 0xc800
pop edx
mov ecx, edx
xor edx, edx
div ecx
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fsubp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004aa5c8
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004aefa8
mov dword [0x4c2588], eax
movsx eax, bl
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
push eax
mov eax, 0xc800
pop edx
mov ecx, edx
xor edx, edx
div ecx
movsx edx, bl
mov ecx, dword [0x4be408]
mov edx, dword [ecx + edx*4 + 0xa8]
sub edx, dword [0x4c2588]
call fcn.004aa580
mov byte [0x4c258c], al
mov byte [0x4c2554], bl
movsx eax, bl
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jge 0x49fa5b
push 0x7f02
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
mov eax, dword [0x4c2580]
push eax
xor ecx, ecx
mov cl, byte [0x4c258c]
mov edx, dword [0x4c2588]
mov eax, ebx
call fcn.0049f4e8
mov byte [ebp - 1], al
movsx eax, bl
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jge 0x49fa98
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
cmp byte [ebp - 1], 0
jne 0x49faa5
mov byte [0x4c2554], 0
xor edx, edx
push ebp
push 0x49faf4
push dword fs:[edx]
mov dword fs:[edx], esp
movsx eax, bl
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov edx, eax
imul edx, edi
push edx
movsx edx, bl
mov ecx, dword [0x4becf0]
mov edx, eax
sub esi, dword [0x4c2588]
imul edx, esi
add edx, dword [0x4c2580]
mov eax, dword [ebp + 8]
pop ecx
call fcn.004066dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49fb08
call sub.kernel32.dll_GetTickCount
mov dword [0x4c2584], eax
mov al, byte [ebp - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4