Function at 0x4e3874
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
xor ecx, ecx
mov dword [edx + 0xc], ecx
mov eax, dword [eax + 8]
cmp eax, 0xffffff93
jg 0x4e38c0
je 0x4e3a7a
sub eax, 0xffffff51
je 0x4e39aa
sub eax, 0x11
je 0x4e3b27
sub eax, 0x2f
je 0x4e3a7a
jmp 0x4e3b1c
sub eax, 0xffffff9b
je 0x4e3950
dec eax
je 0x4e38da
sub eax, 0x5f
je 0x4e3a94
jmp 0x4e3b1c
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00465574
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp byte [edx + 0x2cc], 0
je 0x4e3b27
mov eax, dword [ebx + 0x14]
cmp eax, 0x2000
je 0x4e3910
cmp eax, 0x1000
jne 0x4e3b27
mov edx, dword [ebx + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28c]
call fcn.004627dc
mov edx, eax
cmp dword [ebx + 0x14], 0x2000
sete cl
mov eax, dword [ebp - 4]
mov si, 0xffa6
call fcn.00404694
test al, al
jne 0x4e3b27
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 1
jmp 0x4e3b27
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00465574
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp byte [edx + 0x2cc], 0
je 0x4e3b27
mov eax, dword [ebx + 0x14]
cmp eax, 0x2000
je 0x4e3986
cmp eax, 0x1000
jne 0x4e3b27
mov edx, dword [ebx + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28c]
call fcn.004627dc
mov edx, eax
mov eax, dword [ebp - 4]
mov si, 0xffa7
call fcn.00404694
jmp 0x4e3b27
mov eax, dword [ebp - 4]
cmp byte [eax + 0x402], 0
jne 0x4e3a6a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d2], 0
je 0x4e3a6a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x26d], 3
jne 0x4e3a6a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x401], 0
jne 0x4e3a6a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28c]
call fcn.004627dc
mov ebx, eax
lea ecx, [ebp - 0x20]
mov dl, 2
mov eax, ebx
call fcn.00462624
lea eax, [ebp - 0x10]
push eax
call sub.user32.dll_GetCursorPos
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0047d43c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
push dword [ebp - 0xc]
push dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
call sub.user32.dll_PtInRect
test eax, eax
je 0x4e3a5b
mov edx, ebx
mov eax, dword [ebp - 4]
mov si, 0xffaf
call fcn.00404694
test al, al
jne 0x4e3b27
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 1
jmp 0x4e3b27
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00465574
jmp 0x4e3b27
mov eax, dword [ebp - 4]
mov byte [eax + 0x441], 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00465574
jmp 0x4e3b27
lea eax, [ebp - 0x10]
push eax
call sub.user32.dll_GetCursorPos
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0047d43c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00466df4
test al, 8
je 0x4e3ad3
mov eax, dword [ebp - 4]
mov byte [eax + 0x468], 1
xor eax, eax
push ebp
push 0x4e3b08
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
mov si, 0xffa5
call fcn.00404694
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e3b0f
mov eax, dword [ebp - 4]
mov byte [eax + 0x468], 0
ret
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00465574
pop esi
pop ebx
mov esp, ebp
pop ebp
ret