Function at 0x46acf0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x59c388]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x94], eax
mov eax, dword [edi - 0x698]
lea ebx, [edi - 0x698]
mov ecx, ebx
mov dword [ebp - 0x8c], edi
mov eax, dword [eax + 0xdc]
call eax
test al, al
je 0x46af0d
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xe8]
call eax
test al, al
je 0x46af0d
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xf0]
call eax
mov esi, dword [ebp + 8]
test al, al
jne 0x46ad6b
lea eax, [esi - 0x200]
cmp eax, 0xd
jbe 0x46af0d
cmp esi, 0x20a
jne 0x46ad7d
test byte [ebp + 0xc], 8
je 0x46af0d
mov byte [ebp - 0x7d], 1
cmp esi, 0x200
jb 0x46ad91
cmp esi, 0x20d
jbe 0x46ad9a
cmp esi, 0x20
jne 0x46aeee
mov eax, dword [edi + 4]
test dword [eax + 0x14], 0x100
jne 0x46add9
lea eax, [esi - 0x201]
cmp eax, 4
ja 0x46add9
mov eax, dword [ebp + 0x10]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
lea ecx, [edi - 0x698]
cmp eax, ecx
jne 0x46af0d
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 0x14]
and eax, 0x100
mov dword [ebp - 0x8c], eax
jne 0x46ae8a
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x48]
mov dword [ebp - 8], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx + 0x44]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
movsx eax, cx
mov dword [ebp - 0x88], eax
mov eax, ecx
shr eax, 0x10
cwde
mov dword [ebp - 0x84], eax
cmp esi, 0x20
jne 0x46ae34
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
jmp 0x46ae3c
cmp esi, 0x20a
jne 0x46ae58
lea eax, [ebp - 0x88]
mov ecx, ebx
push eax
mov eax, dword [ebx]
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x84]
lea eax, [ebp - 0x14]
push dword [ebp - 0x88]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x46ae84
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::IsCaptured_void_
test al, al
je 0x46ae8e
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x46af0d
cmp esi, 0x20
jne 0x46ae9c
mov byte [ebp - 0x7d], 0
jmp 0x46b0d0
cmp esi, 0x201
je 0x46aeb8
cmp esi, 0x203
je 0x46aeb8
cmp esi, 0x204
jne 0x46b0d0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::IsNoActivate_void_
test al, al
jne 0x46aedf
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x104]
jmp 0x46b0d0
lea eax, [esi - 0x100]
cmp eax, 8
ja 0x46af22
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x100]
call eax
test al, al
jne 0x46b0d0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f3d68
mov esp, ebp
pop ebp
ret 0x10
cmp esi, 0x10d
jne 0x46afcc
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x100]
call eax
test al, al
je 0x46af0d
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.USER32.dll_GetCaretPos]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
call sub.IMM32.dll_ImmGetContext
mov ecx, dword [edi + 4]
mov esi, eax
mov dword [ebp - 0x20], 0x20
lea eax, [ebp - 0x20]
push eax
push esi
mov ecx, dword [ecx + 0x18]
add ecx, dword [ebp - 0x88]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x18], ecx
call sub.IMM32.dll_ImmSetCompositionWindow
mov eax, dword [ebx]
mov ecx, ebx
push dword [edi + 0x14]
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::GetFont_int_
lea ecx, [ebp - 0x7c]
push ecx
push 0x5c
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [ebp - 0x7c]
push eax
push esi
call sub.IMM32.dll_ImmSetCompositionFontW
mov eax, dword [ebx]
mov ecx, ebx
push esi
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
call sub.IMM32.dll_ImmReleaseContext
jmp 0x46af0d
cmp esi, 0x7b
jne 0x46b168
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xc4]
call eax
test al, al
je 0x46b0d0
mov ecx, dword [ebp + 0x10]
movsx eax, cx
mov dword [ebp - 0x88], eax
mov eax, ecx
shr eax, 0x10
mov ecx, ebx
cwde
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebx]
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x84]
mov eax, dword [ebx]
mov ecx, ebx
push dword [ebp - 0x88]
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
lea ecx, [edi - 0x698]
cmp eax, ecx
jne 0x46af0d
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, dword [sym.imp.USER32.dll_AppendMenuW]
mov edi, eax
push str._rY6R_
push 0x3e8
push 0
push edi
call esi
push 0x54c2b8
push 0x3e9
push 0
push edi
call esi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [ebx]
mov ecx, ebx
push 0
call dword [eax + 0x24]
mov ecx, eax
call sym.uninstaller.exe_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
push 0
push dword [ebp - 8]
push dword [ebp - 0xc]
push 0x100
push edi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
cmp eax, 0x3e8
jne 0x46b151
mov ecx, ebx
call sym.uninstaller.exe_public:_void___thiscall_DuiLib::CRichEditUI::Copy_void_
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebx]
lea ecx, [ebp - 0x90]
push ecx
push dword [ebp + 0x10]
mov ecx, ebx
mov dword [ebp - 0x90], 0
push dword [ebp + 0xc]
push esi
call dword [eax + 0x1e4]
test eax, eax
je 0x46b12d
cmp esi, 0x100
jb 0x46b106
cmp esi, 0x108
jbe 0x46b12d
cmp esi, 0x102
je 0x46b12d
cmp esi, 0x286
je 0x46b12d
lea eax, [esi - 0x200]
cmp eax, 0xd
ja 0x46b138
mov eax, dword [edi + 4]
test dword [eax + 0x14], 0x100
je 0x46b138
mov ecx, dword [ebp - 0x94]
mov al, byte [ebp - 0x7d]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x90]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004f3d68
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x3e9
jne 0x46b0c7
mov ecx, ebx
call sym.uninstaller.exe_public:_void___thiscall_DuiLib::CRichEditUI::Paste_void_
jmp 0x46b0c7
cmp esi, 0x53
jne 0x46af0d
mov byte [ebp - 0x7d], 0
jmp 0x46b0d0