Function at 0x4b1e54
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x10]
push eax
call fcn.004b2258
pop ecx
lea eax, [ebp - 0x11]
call fcn.004b1dd8
mov edx, dword [ebp - 8]
mov ecx, dword [edx]
sub ecx, 0x11
je 0x4b1e8f
sub ecx, 5
je 0x4b1e9e
sub ecx, 0x3f1
je 0x4b1ead
jmp case.default.0x4b1ec1
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 1
jmp case.default.0x4b1ec1
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x30]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 8]
mov eax, dword [edx + 8]
add eax, 0xfffffe00
cmp eax, 9
ja case.default.0x4b1ec1
jmp dword [eax*4 + 0x4b1ec8]
mov edx, dword [ebp - 4]
cmp word [edx + 0x26a], 0
je case.default.0x4b1ec1
push dword [ebp - 4]
call sym.TCP232.exe__TcmTrayIcon_ShiftState_qv
pop ecx
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x10]
push ecx
call sub.USER32.DLL_GetCursorPos
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov cl, byte [ebp - 0x11]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call dword [ebx + 0x268]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 4]
cmp word [edx + 0x272], 0
je case.default.0x4b1ec1
push dword [ebp - 4]
call sym.TCP232.exe__TcmTrayIcon_ShiftState_qv
pop ecx
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
mov dl, 3
call fcn.004b1e0c
lea ecx, [ebp - 0x10]
push ecx
call sub.USER32.DLL_GetCursorPos
mov al, byte [ebp - 0x11]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x274]
call dword [ebx + 0x270]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 4]
cmp word [edx + 0x25a], 0
jne 0x4b1fad
mov ecx, dword [ebp - 4]
cmp word [ecx + 0x27a], 0
je case.default.0x4b1ec1
push dword [ebp - 4]
call sym.TCP232.exe__TcmTrayIcon_ShiftState_qv
pop ecx
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
mov dl, 3
call fcn.004b1e0c
lea ecx, [ebp - 0x10]
push ecx
call sub.USER32.DLL_GetCursorPos
mov eax, dword [ebp - 4]
cmp word [eax + 0x25a], 0
je 0x4b1fee
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x25c]
call dword [ebx + 0x258]
mov edx, dword [ebp - 4]
cmp word [edx + 0x27a], 0
je case.default.0x4b1ec1
mov cl, byte [ebp - 0x11]
push ecx
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
call dword [ebx + 0x278]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 4]
cmp byte [edx + 0x3a], 0
je 0x4b206c
mov ecx, dword [0x4cbd44]
mov eax, dword [ecx]
push dword [eax + 0x30]
call sub.USER32.DLL_IsIconic
test eax, eax
je 0x4b2060
push 0
push 0xf120
push 0x112
mov edx, dword [0x4cbd44]
mov ecx, dword [edx]
push dword [ecx + 0x30]
call sub.USER32.DLL_PostMessageA
jmp 0x4b206c
mov eax, dword [0x4cbd44]
mov eax, dword [eax]
call fcn.00461364
mov edx, dword [ebp - 4]
cmp word [edx + 0x262], 0
je case.default.0x4b1ec1
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x264]
call dword [ebx + 0x260]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 4]
cmp word [edx + 0x272], 0
je case.default.0x4b1ec1
push dword [ebp - 4]
call sym.TCP232.exe__TcmTrayIcon_ShiftState_qv
pop ecx
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
mov dl, 4
call fcn.004b1e0c
lea ecx, [ebp - 0x10]
push ecx
call sub.USER32.DLL_GetCursorPos
mov al, byte [ebp - 0x11]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x274]
call dword [ebx + 0x270]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 4]
cmp word [edx + 0x27a], 0
je 0x4b213a
push dword [ebp - 4]
call sym.TCP232.exe__TcmTrayIcon_ShiftState_qv
pop ecx
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
mov dl, 4
call fcn.004b1e0c
lea ecx, [ebp - 0x10]
push ecx
call sub.USER32.DLL_GetCursorPos
mov al, byte [ebp - 0x11]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
call dword [ebx + 0x278]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x238], 0
je case.default.0x4b1ec1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x48]
jmp case.default.0x4b1ec1
mov ecx, dword [ebp - 4]
cmp word [ecx + 0x262], 0
je case.default.0x4b1ec1
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x264]
call dword [ebx + 0x260]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 4]
cmp word [edx + 0x272], 0
je case.default.0x4b1ec1
push dword [ebp - 4]
call sym.TCP232.exe__TcmTrayIcon_ShiftState_qv
pop ecx
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
mov dl, 5
call fcn.004b1e0c
lea ecx, [ebp - 0x10]
push ecx
call sub.USER32.DLL_GetCursorPos
mov al, byte [ebp - 0x11]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x274]
call dword [ebx + 0x270]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 4]
cmp word [edx + 0x27a], 0
je case.default.0x4b1ec1
push dword [ebp - 4]
call sym.TCP232.exe__TcmTrayIcon_ShiftState_qv
pop ecx
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
mov dl, 5
call fcn.004b1e0c
lea ecx, [ebp - 0x10]
push ecx
call sub.USER32.DLL_GetCursorPos
mov al, byte [ebp - 0x11]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
call dword [ebx + 0x278]
jmp case.default.0x4b1ec1
mov edx, dword [ebp - 4]
cmp word [edx + 0x262], 0
je case.default.0x4b1ec1
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x264]
call dword [ebx + 0x260]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00431b2c
pop ebx
mov esp, ebp
pop ebp
ret