Function at 0x48a080
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 0xc]
sub esp, 0x54
cmp eax, 0x202
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [esi], 0
ja 0x48a385
je 0x48a28a
cmp eax, 0x20
ja 0x48a15c
je 0x48a125
sub eax, 2
je 0x48a109
sub eax, 0xd
je 0x48a0e6
sub eax, 5
jne 0x48a53e
cmp dword [edi + 0x14c], eax
je 0x48a53e
mov dword [esi], 1
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [edi + 0x14c], 0
je 0x48a53e
call fcn.00489b60
mov dword [esi], 0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [edi + 0x68]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [edi + 0x68], 0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [edi + 0x180], 0
jne 0x48a53e
call fcn.004a77b8
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [esi], 1
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x84
je 0x48a219
cmp eax, 0x201
jne 0x48a53e
mov edx, dword [edi + 0x2c]
lea ecx, [esp + 0x14]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x48a1a2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
sub dword [esp + 0xc], ecx
sub dword [esp + 0x10], edx
jmp 0x48a1af
mov eax, 0xffff8001
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x154]
mov edx, dword [eax + 0x30]
lea ecx, [edi + 0x154]
call edx
mov edx, dword [edi + 0x170]
sub eax, 1
mov eax, dword [edx + eax*4]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [edi + 0x2c]
push eax
push 0x1207
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x28]
jl 0x48a53e
cmp eax, dword [esp + 0x30]
jge 0x48a53e
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0x2c]
jl 0x48a53e
mov byte [edi + 0x181], 1
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x24]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0xc]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x48a249
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
sub dword [esp + 0xc], eax
sub dword [esp + 0x10], ecx
jmp 0x48a256
mov eax, 0xffff8001
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], eax
lea edx, [esp + 0xc]
push edx
call fcn.00489f20
mov ecx, dword [ebp + 0x10]
mov edx, dword [edi + 0x68]
mov byte [edi + 0x180], al
mov eax, dword [ebp + 0x14]
push eax
push ecx
push 0x84
push edx
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esi], eax
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x24]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0xc]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x48a2ba
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
sub dword [esp + 0xc], eax
sub dword [esp + 0x10], ecx
jmp 0x48a2c7
mov eax, 0xffff8001
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], eax
mov edx, dword [edi + 0x154]
mov eax, dword [edx + 0x30]
lea ecx, [edi + 0x154]
call eax
mov ecx, dword [edi + 0x170]
mov esi, dword [ecx + eax*4 - 4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
sub eax, 1
mov eax, dword [edi + 0x2c]
lea edx, [esp + 0x14]
push edx
push esi
push 0x1207
push eax
call ebx
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jl 0x48a373
cmp ecx, dword [esp + 0x20]
jge 0x48a373
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0xc], eax
jl 0x48a373
mov edx, dword [esp + 0x14]
add ecx, dword [esp + 0x28]
add eax, edx
cdq
sub eax, edx
sar eax, 1
add eax, dword [esp + 0x24]
cmp byte [edi + 0x181], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
je 0x48a373
mov edx, dword [edi]
lea eax, [esp + 0x34]
push eax
mov eax, dword [edx + 0xc0]
push 0
push 0x800d
push 0
push 0x54dec0
push 0x54de84
push 0
mov ecx, edi
mov dword [esp + 0x60], esi
call eax
push eax
call fcn.004b967b
mov ecx, dword [eax + 0x20]
add esp, 0x14
push ecx
call ebx
mov byte [edi + 0x181], 0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x8003
ja 0x48a51a
je 0x48a470
cmp eax, 0x203
je 0x48a405
cmp eax, 0x1205
jne 0x48a53e
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov ebx, dword [eax]
mov esi, dword [eax + 4]
push eax
push edx
push 0x1205
lea ecx, [edi + 0xc]
call fcn.0049f6e4
cmp byte [edi + 0x148], 0
jne 0x48a3e8
cmp dword [edi + 0x14c], 0
jne 0x48a3e8
mov eax, dword [esi + 0x14]
mov dword [edi + 0x144], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [edi + 0x144]
mov dword [esi + 0x14], ecx
mov edx, dword [edi + 0x144]
mov dword [ebx + 4], edx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x24]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0xc]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x48a44b
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
sub dword [esp + 0xc], eax
sub dword [esp + 0x10], ecx
lea edx, [esp + 0xc]
push edx
call fcn.00489f20
test al, al
sete al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0xffff8001
lea edx, [esp + 0xc]
push edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
call fcn.00489f20
test al, al
sete al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea esi, [edi + 0x13c]
mov ecx, esi
call fcn.004a6a4e
cmp byte [edi + 0xa4], 0
je 0x48a4b4
mov eax, dword [edi + 0x64]
test eax, eax
je 0x48a49d
call fcn.00430d10
push esi
mov ebx, eax
call fcn.0044eb50
push ebx
jmp 0x48a4d0
push 5
mov ecx, esi
call fcn.0044eb30
mov ebx, dword [ebp + 0x10]
push 1
push ebx
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x48a4da
mov eax, dword [edi + 0xa0]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
mov ecx, esi
call fcn.004a69fb
mov eax, dword [edi + 0xa0]
push eax
mov ebx, dword [ebp + 0x10]
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edx, dword [edi + 0xa8]
mov eax, dword [edx + 0x38]
lea ecx, [edi + 0xa8]
call eax
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
test esi, esi
jne 0x48a507
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esi + 4]
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
sub eax, 0x8011
je 0x48a537
sub eax, 1
jne 0x48a53e
mov byte [edi + 0x182], al
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov byte [edi + 0x182], 1
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x10