Function at 0x4a5213
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, 0x5555a4
mov edi, 0x555594
mov ebx, dword [0x532530]
test ebx, ebx
jne 0x4a5234
xor eax, eax
jmp 0x4a56a6
push ebx
call sub.USER32.dll_GetMenuItemCount
mov dword [0x555590], eax
cmp dword [0x555590], 0
jg 0x4a524f
xor eax, eax
jmp 0x4a56a6
push dword [0x537420]
call sub.USER32.dll_GetDC
mov ebx, eax
mov dword [0x5555ac], ebx
test ebx, ebx
jne 0x4a526d
xor eax, eax
jmp 0x4a56a6
push 0xd
call sub.GDI32.dll_GetStockObject
push eax
push ebx
call sub.GDI32.dll_SelectObject
mov dword [0x5555a0], eax
push 0xf
call fcn.004f9e10
mov dword [0x55559c], eax
call sub.USER32.dll_GetMenuCheckMarkDimensions
movzx edx, ax
mov dword [0x555598], edx
xor ecx, ecx
mov dword [0x555584], ecx
xor eax, eax
mov dword [0x555588], eax
xor edx, edx
mov dword [0x55558c], edx
jmp 0x4a5346
push 0x400
push 0x62
push 0x555704
push dword [0x55558c]
push dword [0x532530]
call sub.USER32.dll_GetMenuStringA
mov ebx, eax
mov dword [edi], ebx
test ebx, ebx
jg 0x4a52ef
mov eax, dword [0x55559c]
sar eax, 1
jns 0x4a52e7
adc eax, 0
add dword [0x555588], eax
jmp 0x4a5340
push ebx
push 0x555704
push dword [0x5555ac]
call fcn.004c799b
add eax, dword [0x555598]
mov dword [edi], eax
push dword [0x55558c]
push dword [0x532530]
call sub.USER32.dll_GetSubMenu
test eax, eax
je 0x4a5325
mov edx, dword [0x555598]
add dword [edi], edx
mov eax, dword [edi]
cmp eax, dword [0x555584]
jle 0x4a5334
mov dword [0x555584], eax
mov edx, dword [0x55559c]
add dword [0x555588], edx
inc dword [0x55558c]
mov ecx, dword [0x55558c]
cmp ecx, dword [0x555590]
jl 0x4a52b6
push dword [0x5555a0]
push dword [0x5555ac]
call sub.GDI32.dll_SelectObject
push dword [0x5555ac]
push dword [0x537420]
call sub.USER32.dll_ReleaseDC
add dword [0x555584], 0xa
cmp dword [ebp + 0x10], 0
jle 0x4a53a9
movzx eax, word [ebp + 0x10]
mov dword [esi], eax
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and dx, 0xffff
movzx ecx, dx
mov dword [esi + 4], ecx
push esi
push dword [ebp + 8]
call sub.USER32.dll_ClientToScreen
jmp 0x4a53ef
push 0x5555b0
push dword [ebp + 8]
call sub.USER32.dll_GetWindowRect
mov edx, dword [0x5555b8]
mov eax, dword [0x5555b0]
sub edx, eax
sar edx, 1
jns 0x4a53ca
adc edx, 0
add edx, eax
mov dword [esi], edx
mov ecx, dword [0x5555bc]
mov eax, dword [0x5555b4]
sub ecx, eax
sar ecx, 1
jns 0x4a53e2
adc ecx, 0
add ecx, eax
mov dword [esi + 4], ecx
xor edx, edx
mov dword [0x55559c], edx
cmp dword [0x555590], 1
jne 0x4a540d
mov ecx, dword [0x55559c]
sar ecx, 1
jns 0x4a5405
adc ecx, 0
sub dword [esi + 4], ecx
jmp 0x4a5496
cmp dword [ebp + 0xc], 4
jne 0x4a541d
mov eax, dword [0x55559c]
add dword [esi + 4], eax
jmp 0x4a544d
cmp dword [ebp + 0xc], 6
jne 0x4a542e
mov edx, dword [0x55559c]
add dword [esi + 4], edx
jmp 0x4a544d
cmp dword [ebp + 0xc], 7
jne 0x4a543f
mov ecx, dword [0x55559c]
add dword [esi + 4], ecx
jmp 0x4a544d
cmp dword [ebp + 0xc], 0xe
jne 0x4a544d
mov eax, dword [0x55559c]
add dword [esi + 4], eax
mov edx, dword [0x555588]
sar edx, 1
jns 0x4a545a
adc edx, 0
mov ecx, dword [0x55559c]
sar ecx, 1
jns 0x4a5467
adc ecx, 0
add edx, ecx
sub dword [esi + 4], edx
jmp 0x4a5475
sub dword [0x555590], 2
cmp dword [0x555590], 0
jg 0x4a546e
cmp dword [0x555590], 0
jne 0x4a5496
mov eax, dword [0x55559c]
sar eax, 1
jns 0x4a5493
adc eax, 0
add dword [esi + 4], eax
cmp dword [0x537428], 0
jne 0x4a54b5
push dword [0x537420]
call sub.USER32.dll_SetActiveWindow
push dword [0x537420]
call sub.USER32.dll_SetForegroundWindow
mov edx, dword [ebp + 0xc]
add edx, 0xfffffff6
cmp edx, 0x10
ja case.0x4a54ca.10
mov dl, byte [edx + 0x4a54d1]
jmp dword [edx*4 + 0x4a54e2]
push 0x5555b0
push dword [0x536700]
call sub.USER32.dll_GetWindowRect
push esi
call sub.USER32.dll_GetCursorPos
mov ecx, dword [0x5555b0]
add ecx, dword [0x53696c]
add ecx, 0xffffffec
mov dword [esi], ecx
mov eax, dword [0x5555bc]
add eax, 0xfffffffe
mov dword [esi + 4], eax
push 0
push 0x5555b0
push esi
push dword [0x536700]
call fcn.004b20ac
jmp 0x4a5537
dec dword [esi]
mov edx, dword [esi]
add edx, dword [0x555584]
cmp edx, dword [0x5555b8]
jg 0x4a5535
mov eax, dword [0x5555b0]
cmp eax, dword [esi]
jle 0x4a5557
mov dword [esi], eax
jmp 0x4a5557
dec dword [esi + 4]
mov edx, dword [esi + 4]
add edx, dword [0x555588]
add edx, 0xfffffffe
cmp edx, dword [0x5555bc]
jg 0x4a5554
mov eax, dword [0x5555b4]
cmp eax, dword [esi + 4]
jle 0x4a5578
mov dword [esi + 4], eax
push 0
push dword [0x537420]
push 0
push dword [esi + 4]
push dword [esi]
push 0
push dword [0x532530]
call sub.USER32.dll_TrackPopupMenu
test eax, eax
jne 0x4a5664
push 0
call fcn.00415bea
jmp 0x4a5664
push esi
call sub.USER32.dll_GetCursorPos
push 0
push dword [0x537420]
push 0
push dword [esi + 4]
push dword [esi]
push 0
push dword [0x532530]
call sub.USER32.dll_TrackPopupMenu
test eax, eax
jne 0x4a5664
push 0
call fcn.00415bea
jmp 0x4a5664
push 0
push 0x5555b0
push esi
push dword [ebp + 8]
call fcn.004b20ac
jmp 0x4a55f2
dec dword [esi]
mov edx, dword [0x555584]
sar edx, 1
jns 0x4a55ff
adc edx, 0
add edx, dword [esi]
add edx, 8
cmp edx, dword [0x5555b8]
jg 0x4a55f0
mov eax, dword [0x5555b0]
cmp eax, dword [esi]
jle 0x4a561c
mov dword [esi], eax
jmp 0x4a561c
dec dword [esi + 4]
mov edx, dword [esi + 4]
add edx, dword [0x555588]
add edx, 0xfffffffe
cmp edx, dword [0x5555bc]
jg 0x4a5619
mov eax, dword [0x5555b4]
cmp eax, dword [esi + 4]
jle 0x4a563d
mov dword [esi + 4], eax
push 0
push dword [0x537420]
push 0
push dword [esi + 4]
push dword [esi]
push 4
push dword [0x532530]
call sub.USER32.dll_TrackPopupMenu
test eax, eax
jne 0x4a5664
push 0
call fcn.00415bea
push dword [ebp + 8]
call fcn.004f9c59
mov dword [0x555580], eax
mov eax, dword [0x555580]
test eax, eax
je 0x4a5698
cmp dword [eax + 0x744], 0
je 0x4a5698
mov edx, dword [eax]
cmp edx, dword [0x53742c]
jne 0x4a5698
push dword [eax + 0x744]
call sub.USER32.dll_SetFocus
mov ecx, dword [ebp + 0xc]
mov dword [0x5325bc], ecx
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0xc