Function at 0x524a80
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, eax
mov al, byte [0x68ce49]
test al, al
jne case.0x524b48.275
cmp esi, 0x104
ja 0x524b30
je case.0x524b48.513
cmp esi, 0x1c
ja 0x524b06
je 0x524b20
mov eax, esi
dec eax
je 0x524ace
sub eax, 5
je 0x524b20
sub eax, 0xa
je case.0x524b48.513
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
mov al, byte [0x68ce48]
test al, al
jne case.0x524b48.275
lea eax, [ebp - 8]
push eax
mov byte [0x68ce48], 1
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
pop edi
mov dword [0x68ce44], ecx
mov dword [0x68ce40], edx
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
mov eax, esi
sub eax, 0x86
je 0x524b20
sub eax, 0x7a
je case.0x524b48.513
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je case.0x524b48.513
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esi - 0x112]
cmp eax, 0xf5
ja case.0x524b48.275
movzx eax, byte [eax + 0x524d28]
jmp dword [eax*4 + 0x524d18]
cmp edx, 0xf060
ja 0x524b67
je 0x524b73
mov eax, edx
sub eax, 0xf040
je 0x524b73
sub eax, 0x10
jmp 0x524b6d
cmp edx, 0xf140
jne case.0x524b48.275
mov dword [edi], 0
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [0x68ce44]
movzx eax, cx
shr ecx, 0x10
cmp eax, edx
jne 0x524b99
cmp ecx, dword [0x68ce40]
je 0x524baf
mov dword [0x68ce44], eax
mov eax, dword [0x68ce3c]
inc eax
mov dword [0x68ce40], ecx
mov dword [0x68ce3c], eax
cmp dword [0x68ce3c], 4
jl 0x524b73
mov eax, dword [0x68cde0]
test eax, eax
je 0x524bd0
mov ecx, dword [eax + 0x2cc]
cmp ecx, dword [ebp + 8]
jne case.0x524b48.275
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x68ce04]
cmp eax, 0x3e8
jae 0x524c14
cmp esi, 0x1c
ja 0x524bfc
je case.0x524b48.275
cmp esi, 6
je case.0x524b48.275
cmp esi, 0x10
jmp 0x524c0e
cmp esi, 0x86
je case.0x524b48.275
cmp esi, 0x200
je case.0x524b48.275
mov eax, dword [0x68ce38]
test eax, eax
je 0x524cf7
mov eax, dword [0x68cde0]
test eax, eax
je 0x524cf7
mov cl, byte [eax + 0x2c4]
test cl, cl
je 0x524cf7
mov ecx, dword [eax + 0x2e0]
test ecx, ecx
je 0x524c65
mov edx, dword [ecx + 0x58]
test edx, edx
je 0x524c65
mov edx, ecx
mov eax, dword [edx + 0x58]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov edx, dword [0x68cde0]
mov byte [edx + 0x2dc], 1
mov eax, dword [ebp + 8]
push eax
mov byte [0x68ce49], 1
call dword [0x68ce38]
mov edi, eax
mov eax, dword [0x68cde0]
test eax, eax
mov byte [0x68ce49], 0
je 0x524cad
mov byte [eax + 0x2dc], 0
mov esi, dword [0x68cde0]
call dword [sym.imp.WINMM.dll_timeGetTime]
fld qword [0x60d4b8]
fstp qword [esi + 0x380]
mov dword [esi + 0x388], eax
xor esi, esi
cmp edi, esi
jne 0x524cdc
lea ecx, [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
pop edi
mov dword [0x68ce40], eax
mov dword [0x68ce3c], esi
mov dword [0x68ce44], edx
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
push esi
lea ecx, [ebp - 4]
push ecx
push esi
push 0x61
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x68ce38], esi
mov edx, dword [ebp + 8]
push 0
push 0
push 0x10
push edx
mov byte [0x68ce49], 1
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret