Function at 0x1401688d0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x148
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
cmp dword [rax + 0xb94], 0
jge 0x140168914
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
cmp dword [rax + 0x678], 0
jne 0x140168914
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
cmp dword [rax + 0x890], 0
je 0x14016892e
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call sub.mfc90u.dll_CDocObjectServerItem::OnShow
jmp 0x14016931c
mov rax, qword [rsp + 0x158]
mov eax, dword [rax + 8]
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0x202
ja 0x140168979
cmp dword [rsp + 0xf8], reloc.mfc90u.dll_COleStreamFile::COleStreamFile
jae 0x1401689ba
cmp dword [rsp + 0xf8], 0x100
je 0x1401689ba
cmp dword [rsp + 0xf8], 0x104
je 0x1401689ba
jmp 0x140168a42
cmp dword [rsp + 0xf8], 0x204
jb 0x140168a42
cmp dword [rsp + 0xf8], 0x205
jbe 0x1401689ba
cmp dword [rsp + 0xf8], 0x206
jbe 0x140168a42
cmp dword [rsp + 0xf8], 0x208
jbe 0x1401689ba
jmp 0x140168a42
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax + 0x1f8]
mov qword [rsp + 0xb0], rax
cmp qword [rsp + 0xb0], 0
jne 0x1401689ea
mov qword [rsp + 0x100], 0
jmp 0x1401689fe
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x100], rax
cmp qword [rsp + 0x100], 0
je 0x140168a42
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax + 0x1f8]
mov qword [rsp + 0xb8], rax
mov r9, qword [rsp + 0x158]
xor r8d, r8d
mov edx, 0x407
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rax, qword [rsp + 0x158]
mov eax, dword [rax + 8]
mov dword [rsp + 0x108], eax
cmp dword [rsp + 0x108], 0x104
ja 0x140168ab1
cmp dword [rsp + 0x108], 0x104
je case.0x140168aea.513
mov eax, dword [rsp + 0x108]
sub eax, 0xa1
mov dword [rsp + 0x108], eax
cmp dword [rsp + 0x108], 0x5f
ja case.0x140168aea.515
mov eax, dword [rsp + 0x108]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x16932c]
mov eax, dword [rcx + rax*4 + 0x169324]
add rax, rcx
jmp rax
mov eax, dword [rsp + 0x108]
sub eax, reloc.mfc90u.dll_COleStreamFile::COleStreamFile
mov dword [rsp + 0x108], eax
cmp dword [rsp + 0x108], 8
ja case.0x140168aea.515
mov eax, dword [rsp + 0x108]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x16938c]
add rax, rcx
jmp rax
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
add rax, 0x120
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0xc0], 0
jne 0x140168b1b
mov qword [rsp + 0x110], 0
jmp 0x140168b2f
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x110], rax
cmp qword [rsp + 0x110], 0
je 0x140168bc8
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rcx, qword [rcx + 0x160]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x140168bc8
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
add rcx, 0x120
call fcn.1402e9200
cmp qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x140168b84
mov qword [rsp + 0x118], 0
jmp 0x140168b98
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x118], rax
call qword [sym.imp.USER32.dll_GetCapture]
cmp rax, qword [rsp + 0x118]
jne 0x140168bae
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call sub.mfc90u.dll_CDocObjectServerItem::OnShow
jmp 0x14016931c
jmp case.0x140168aea.515
mov rax, qword [rsp + 0x158]
cmp qword [rax + 0x10], 0
jne case.0x140168aea.515
lea rcx, [rsp + 0x28]
call qword [sym.imp.USER32.dll_GetCursorPos]
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call qword [rax + reloc.mfc90u.dll_CDocObjectServer::DoBeginPrinting]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call fcn.1401662f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x158]
cmp dword [rax + 8], 0x104
jne 0x140168dab
mov rax, qword [rsp + 0x158]
cmp qword [rax + 0x10], 0x28
je 0x140168c62
mov rax, qword [rsp + 0x158]
cmp qword [rax + 0x10], 0x27
jne 0x140168dab
cmp qword [rsp + 0x20], 0
je 0x140168dab
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x60], 0
je 0x140168dab
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call fcn.140166370
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x40000
mov rax, qword [rsp + 0x158]
cmp qword [rax + 0x10], 0x28
jne 0x140168cb8
mov eax, dword [rsp + 0x30]
or eax, reloc.mfc90u.dll_COleStreamFile::COleStreamFile
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x158]
cmp qword [rax + 0x10], 0x27
jne 0x140168cd4
mov eax, dword [rsp + 0x30]
or eax, 0x80
mov dword [rsp + 0x30], eax
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call fcn.1401595a0
cmp qword [rsp + 0x38], 0
je 0x140168da1
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xe8]
and eax, 1
test eax, eax
je 0x140168da1
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call qword [rax + COleVariant::operator=]
test eax, eax
je 0x140168da1
mov dword [rsp + 0x80], 0xffffffff
mov dword [rsp + 0x84], 0xffffffff
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
call qword [rax + 0xc0]
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax]
mov r8d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call qword [rax + DDX_FieldText]
mov edx, eax
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call qword [rax + reloc.mfc90u.dll_DDX_LBString]
mov eax, 1
jmp 0x14016931c
cmp qword [rsp + 0x20], 0
je 0x140169307
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x50], 0
je 0x140169307
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x60], 0
je 0x140169307
mov rax, qword [rsp + 0x158]
cmp dword [rax + 8], 0x100
jne 0x140168e16
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax]
mov r8, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call qword [rax + DDX_FieldText]
jmp 0x14016931c
mov rax, qword [rsp + 0x158]
cmp dword [rax + 8], reloc.mfc90u.dll_COleStreamFile::COleStreamFile
jb 0x140169307
mov rax, qword [rsp + 0x158]
cmp dword [rax + 8], 0x20e
ja 0x140169307
lea rcx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_GetCursorPos]
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov rcx, qword [rsp + 0x20]
call fcn.14014b7b0
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x140168fd5
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
cmp qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x140168eaa
mov qword [rsp + 0x120], 0
jmp 0x140168ebe
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x120], rax
mov r9d, 2
lea r8, [rsp + 0x68]
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x140168fd5
cmp qword [rsp + 0x50], 0
jne 0x140168f1e
mov qword [rsp + 0x128], 0
jmp 0x140168f2f
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x128], rax
mov r9d, 1
lea r8, [rsp + 0x58]
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
movsxd rax, dword [rsp + 0x5c]
and rax, 0xffff
movzx ecx, ax
shl ecx, 0x10
movsxd rax, dword [rsp + 0x58]
and rax, 0xffff
movzx eax, ax
or eax, ecx
mov eax, eax
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x158]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x158]
mov eax, dword [rax + 8]
mov dword [rsp + 0xc8], eax
mov r9, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xd0]
mov edx, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14016931c
mov rcx, qword [rsp + 0x20]
call fcn.14014b610
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
jne 0x140169006
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call sub.mfc90u.dll_CDocObjectServerItem::OnShow
jmp 0x14016931c
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x64], 0
jne 0x140169020
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_HideCaret]
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
cmp qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x14016904d
mov qword [rsp + 0x130], 0
jmp 0x140169061
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x130], rax
mov r9d, 2
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x1401690de
mov rax, qword [rsp + 0x158]
cmp dword [rax + 8], 0x203
jne 0x1401690de
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x20]
call qword [rax + 0xc8]
test eax, eax
je 0x1401690de
mov eax, 1
jmp 0x14016931c
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x140169128
mov rax, qword [rsp + 0x158]
cmp dword [rax + 8], 0x204
jne 0x140169128
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x64], 0
jne 0x140169128
mov eax, 1
jmp 0x14016931c
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0xa0]
lea rcx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x14016923d
mov rax, qword [rsp + 0x158]
cmp dword [rax + 8], reloc.mfc90u.dll_COleTemplateServer::COleTemplateServer
je 0x140169176
mov rax, qword [rsp + 0x158]
cmp dword [rax + 8], 0xa1
jne 0x14016923d
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call fcn.140166370
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
je 0x1401691e2
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x78]
add rcx, 0xc8
mov rdx, qword [rsp + 0xa8]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x1401691e2
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
call qword [rax + 0xc0]
mov eax, 1
jmp 0x14016931c
xor r9d, r9d
xor r8d, r8d
mov edx, 0x20004
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call fcn.140159610
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax]
mov edx, 1
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call qword [rax + 0x358]
test eax, eax
jne 0x140169238
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov dword [rax + CDocObjectServer::DoPrepareDC], 0
mov eax, 1
jmp 0x14016931c
jmp 0x140169307
cmp qword [rsp + 0x60], 0
jne 0x140169253
mov qword [rsp + 0x138], 0
jmp 0x140169264
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x138], rax
mov r9d, 1
lea r8, [rsp + 0x58]
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
movsxd rax, dword [rsp + 0x5c]
and rax, 0xffff
movzx ecx, ax
shl ecx, 0x10
movsxd rax, dword [rsp + 0x58]
and rax, 0xffff
movzx eax, ax
or eax, ecx
mov eax, eax
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x158]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x158]
mov eax, dword [rax + 8]
mov dword [rsp + 0xe0], eax
mov r9, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xe8]
mov edx, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14016931c
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call sub.mfc90u.dll_CDocObjectServerItem::OnShow
add rsp, 0x148
ret