Function at 0x140049090
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x5b8
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov rax, qword [0x14025e510]
xor rax, rsp
mov qword [rsp + 0x5a0], rax
mov r12, r9
mov rbp, r8
mov esi, edx
mov rbx, rcx
cmp edx, 1
jne 0x140049115
lea rdx, str.CDialog
call fcn.14001b150
test eax, eax
jne 0x1400499b3
lea rdx, str.CPropertyPage
mov rcx, rbx
call fcn.14001b150
test eax, eax
jne 0x1400499b3
lea rdx, str.p___
mov rcx, rbx
call fcn.14001b150
test eax, eax
je 0x14004911d
jmp 0x1400499b3
cmp edx, 0x110
jne 0x14004915b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x318]
mov r9, r12
mov r8, rbp
mov edx, esi
mov rcx, rbx
call fcn.14000f868
mov rdi, rax
test byte [rbx + 0x110], 0x10
je 0x140049153
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x140049153
call fcn.1400b0400
mov rax, rdi
jmp 0x140049c42
cmp edx, 0x47
jne 0x14004933a
call fcn.14000f868
mov rbp, rax
mov rcx, qword [rbx + 0x158]
xor r13d, r13d
test rcx, rcx
je 0x140049245
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140049245
lea edx, [r13 - 0x14]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
shr rax, 0x16
and al, 1
movzx ecx, byte [rbx + 0x110]
shr cl, 5
and cl, 1
cmp cl, al
je 0x1400491be
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x318]
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
lea rcx, [rbx + 0xe8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r9d, r9d
mov r8, rbx
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [rdi + 0x418]
mov r9d, dword [rsp + 0x5c]
sub r9d, dword [rsp + 0x64]
mov r8d, dword [rsp + 0x58]
sub r8d, dword [rsp + 0x60]
lea rcx, [rbx + 0x118]
mov dword [rsp + 0x30], 0x215
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor edx, edx
call fcn.14000a8a8
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rbx + 0x158]
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rcx, qword [rbx + 0x158]
call qword [sym.imp.USER32.dll_UpdateWindow]
test byte [r12 + 0x20], 1
je 0x140049255
mov rax, rbp
jmp 0x140049c42
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x140049332
mov word [rsp + 0x390], r13w
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x392]
call fcn.14002fb80
mov r8d, 0x104
lea rdx, [rsp + 0x390]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rsi, [rsp + 0x390]
lea rdi, str.32770
mov ecx, 7
repe cmpsw word [rsi], word [rdi]
jne 0x140049332
mov r9d, 0xb45
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov edx, 5
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetWindow]
mov rcx, rax
call fcn.14001256c
mov rdi, rax
test rax, rax
je 0x140049332
nop word [rax + rax]
mov rcx, rdi
call fcn.14000a5c4
bt eax, 0x1c
jae 0x140049313
mov r9d, 0xb05
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov edx, 2
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetWindow]
mov rcx, rax
call fcn.14001256c
mov rdi, rax
test rax, rax
jne 0x1400492f0
mov rax, rbp
jmp 0x140049c42
cmp edx, 0x317
je 0x1400499c8
cmp edx, 0x318
je 0x1400499c8
cmp edx, 0xf
jne 0x14004951c
lea rdx, str.CDialog
call fcn.14001b150
test eax, eax
setne bpl
xor r13d, r13d
test bpl, bpl
jne 0x1400493e2
mov word [rsp + 0x180], r13w
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x182]
call fcn.14002fb80
mov r8d, 0x104
lea rdx, [rsp + 0x180]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClassNameW]
mov edx, 0x105
lea rcx, [rsp + 0x180]
call fcn.1401a37fc
lea rdx, [0x1401e5580]
lea rcx, [rsp + 0x180]
call fcn.14002fae8
movzx ebp, bpl
mov r14d, 1
test rax, rax
cmovne ebp, r14d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xf]
mov rcx, rbx
call fcn.140047d20
mov rsi, rax
test bpl, bpl
jne 0x14004940f
test rax, rax
je 0x14004940f
mov rax, qword [rax + 0x18]
mov rcx, rbx
call rax
jmp 0x140049515
mov rdx, rbx
lea rcx, [rsp + 0x110]
call fcn.14000c87c
nop
mov r14d, dword [rbx + 0x114]
mov rax, qword [rbx + 0xe8]
lea rcx, [rbx + 0xe8]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [rdi + 0x390]
test al, al
je 0x1400494a0
cmp r14d, 0xffffffff
jne 0x1400494a6
xor r9d, r9d
lea r8, [0x1400a9ea0]
mov rdx, qword [rbx + 0x40]
mov rcx, qword [rsp + 0x118]
call fcn.1400a46e0
mov rdx, qword [rbx + 0xe8]
lea rcx, [rbx + 0xe8]
call qword [rdx + 0x20]
mov rdi, qword [rax]
mov qword [rsp + 0x20], r13
mov r9, rbx
lea r8, [rsp + 0x110]
mov dl, 1
mov rcx, rax
call qword [rdi + 0x3a0]
jmp 0x1400494d0
cmp r14d, 0xffffffff
je 0x1400494d0
lea rdx, [rsp + 0xf8]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov r8d, r14d
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x110]
call fcn.1400194c0
mov rax, qword [rbx + 0xe8]
lea rcx, [rbx + 0xe8]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [rdi + 0x60]
nop
lea rcx, [rsp + 0x110]
call fcn.14000c8dc
test bpl, bpl
je 0x140049515
test rsi, rsi
je 0x140049515
mov rcx, rbx
call qword [rsi + 0x18]
xor eax, eax
jmp 0x140049c42
xor eax, eax
jmp 0x140049c42
cmp edx, 0x14
jne 0x1400495f7
xor r9d, r9d
xor r8d, r8d
call fcn.140047d20
test rax, rax
je 0x140049550
mov rdi, qword [rax + 0x18]
mov rcx, rbp
call fcn.14000c628
mov rdx, rax
mov rcx, rbx
call rdi
cdqe
jmp 0x140049c42
mov rcx, rbp
call qword [sym.imp.USER32.dll_WindowFromDC]
test rax, rax
je 0x14004957c
cmp rax, qword [rbx + 0x40]
je 0x14004957c
mov r9, r12
mov r8, rbp
mov edx, 0x14
mov rcx, rbx
call fcn.14000f868
jmp 0x140049c42
mov rcx, rbx
call fcn.14000a5c4
bt eax, 0x19
jae 0x1400495bc
lea rcx, [rbx + 0xe8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [rdi + 0x390]
test al, al
je 0x1400495bc
movabs rax, 1
jmp 0x140049c42
test rbx, rbx
jne 0x1400495c6
xor r13d, r13d
jmp 0x1400495ca
mov r13, qword [rbx + 0x40]
xor r9d, r9d
lea r8, [0x1400a9ea0]
mov rdx, r13
mov rcx, rbp
call fcn.1400a46e0
mov r9, r12
mov r8, rbp
mov edx, 0x14
mov rcx, rbx
call fcn.14000f868
jmp 0x140049c42
lea eax, [rdx - 0x132]
cmp eax, 6
ja 0x140049866
call fcn.14000f868
mov r15, rax
mov eax, 0x132
sub si, ax
movzx ecx, si
xor r13d, r13d
cmp ecx, 4
je 0x140049632
cmp ecx, 6
je 0x14004963b
test ecx, ecx
je 0x140049632
mov rax, r15
jmp 0x140049c42
cmp ecx, 6
jne 0x1400497bb
mov r14d, 1
test r12, r12
je 0x14004976e
mov rcx, r12
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14004976e
call fcn.140008c24
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004967b
mov ecx, 0x80004005
call fcn.1400052e0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x40], rdi
mov ecx, r14d
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, 0x105
or eax, ecx
jge 0x1400496b3
mov edx, 0x105
lea rcx, [rsp + 0x40]
call fcn.140004ec0
mov rdi, qword [rsp + 0x40]
mov r8d, 0x104
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.USER32.dll_GetClassNameW]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call fcn.14002fac8
test eax, eax
js 0x140049763
cmp eax, dword [rdi - 0xc]
jg 0x140049763
mov dword [rdi - 0x10], eax
cdqe
mov word [rdi + rax*2], r13w
lea rcx, [rsp + 0x40]
call fcn.140048a20
xor r11d, r11d
lea rdi, str.static
mov rax, qword [rsp + 0x40]
mov rsi, rax
mov ecx, 7
repe cmpsw word [rsi], word [rdi]
je 0x140049719
sbb r11d, r11d
sbb r11d, 0xffffffff
test r11d, r11d
setne cl
test cl, cl
je 0x140049746
lea rdx, [rax - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004973e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, r15
jmp 0x140049c42
lea rdx, [rax - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004976e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004976e
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov edx, r14d
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SetBkMode]
mov rcx, rbx
call fcn.14000a5c4
bt eax, 0x1e
jae 0x1400497bb
lea rcx, [rbx + 0xe8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [rdi + 0x390]
test al, al
je 0x1400497bb
mov ecx, 5
call qword [sym.imp.GDI32.dll_GetStockObject]
jmp 0x140049c42
mov eax, dword [0x1402726a0]
test al, 1
jne 0x1400497ef
or eax, 1
mov dword [0x1402726a0], eax
mov qword [0x140272698], r13
lea rax, vtable.CBrush.0
mov qword [0x140272690], rax
lea rcx, [0x1401d77e0]
call fcn.140030fe4
lea rcx, [rbx + 0xe8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r9d, r9d
mov r8, rbx
mov edx, 0x3e8
mov rcx, rax
call qword [rdi + 0x150]
mov edi, eax
cmp dword [0x14025ff2c], eax
je 0x140049833
cmp qword [0x140272698], 0
je 0x140049833
lea rcx, [0x140272690]
call fcn.14000ca68
cmp qword [0x140272698], 0
jne 0x14004985a
mov dword [0x14025ff2c], edi
mov ecx, edi
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
lea rcx, [0x140272690]
call fcn.14000c9e8
mov rax, qword [0x140272698]
jmp 0x140049c42
cmp edx, 0x113
jne 0x1400498ac
cmp r8, 0x12d
jne 0x14004989d
call fcn.1400794f0
test eax, eax
jne 0x140049896
and byte [rbx + 0x110], 0xfb
mov edx, 0x12d
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_KillTimer]
xor eax, eax
jmp 0x140049c42
mov edx, 0x113
call fcn.14000f868
jmp 0x140049c42
cmp edx, 2
jne 0x1400498da
test byte [rcx + 0x110], dl
je 0x1400498c2
mov rax, qword [rcx]
call qword [rax + 0x2f0]
mov r9, r12
mov r8, rbp
mov edx, 2
mov rcx, rbx
call fcn.14000f868
jmp 0x140049c42
cmp edx, 0xa1
jne 0x1400498ed
cmp r8, 3
je 0x140049905
jmp 0x1400499b3
cmp edx, 0xa5
jne 0x14004994b
cmp r8, 2
je 0x14004991b
cmp r8, 3
jne 0x1400499b3
cmp r8, 2
je 0x14004991b
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x310]
jmp 0x140049944
lea rcx, [rsp + 0xa8]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x140049944
mov rax, qword [rbx]
xor r8d, r8d
lea rdx, [rsp + 0xa8]
mov rcx, rbx
call qword [rax + 0x310]
xor eax, eax
jmp 0x140049c42
cmp edx, 0xa4
jne 0x140049960
cmp r8, 3
jne 0x140049960
xor eax, eax
jmp 0x140049c42
cmp edx, 0xa3
jne 0x140049975
cmp r8, 3
jne 0x1400499b3
call fcn.1400794b0
jmp 0x1400499b3
cmp edx, 0xa4
jne 0x1400499b3
cmp r8, 2
jne 0x1400499b3
lea rcx, [rsp + 0xa0]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x1400499ac
mov rax, qword [rbx]
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call qword [rax + 0x310]
xor eax, eax
jmp 0x140049c42
mov r9, r12
mov r8, rbp
mov edx, esi
mov rcx, rbx
call fcn.14000f868
jmp 0x140049c42
call fcn.14000f868
lea rcx, [rsp + 0x68]
call fcn.14000bda0
nop
mov rdx, rbp
lea rcx, [rsp + 0x68]
call fcn.14000c64c
lea rdx, [rsp + 0xd0]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rdx, [rsp + 0xc0]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
xor r13d, r13d
test r12b, 0xc
je 0x140049bfb
mov r14d, r13d
mov ebp, r13d
test r12b, 2
je 0x140049a8d
movaps xmm0, xmmword [rsp + 0xd0]
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm1, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0x90], xmm1
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.14000c39c
mov r14d, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
sub ebp, dword [rsp + 0x94]
sub r14d, dword [rsp + 0x90]
jne 0x140049a6f
test ebp, ebp
je 0x140049a8d
mov r9d, ebp
neg r9d
mov r8d, r14d
neg r8d
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x68]
call fcn.14000bfb8
mov edx, 5
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetWindow]
mov rcx, rax
call fcn.14001256c
mov rdi, rax
test rax, rax
je 0x140049b16
nop dword [rax]
cmp rdi, rbx
je 0x140049b16
mov rcx, rdi
call fcn.14000a5c4
bt eax, 0x1c
jae 0x140049af7
lea rdx, [rsp + 0xb0]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call fcn.14000c344
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x68]
call fcn.14000bb18
mov edx, 2
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetWindow]
mov rcx, rax
call fcn.14001256c
mov rdi, rax
test rax, rax
jne 0x140049ab0
mov r15d, dword [rbx + 0x114]
lea rcx, [rbx + 0xe8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [rdi + 0x390]
test al, al
je 0x140049b8b
cmp r15d, 0xffffffff
jne 0x140049b91
xor r9d, r9d
lea r8, [0x1400a9ea0]
mov rdx, qword [rbx + 0x40]
mov rcx, qword [rsp + 0x70]
call fcn.1400a46e0
lea r15, [rbx + 0xe8]
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x20]
mov rdi, qword [rax]
mov qword [rsp + 0x20], r13
mov r9, rbx
lea r8, [rsp + 0x68]
mov dl, 1
mov rcx, rax
call qword [rdi + 0x3a0]
jmp 0x140049bb6
cmp r15d, 0xffffffff
je 0x140049baf
mov r8d, r15d
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x68]
call fcn.1400194c0
lea r15, [rbx + 0xe8]
jmp 0x140049bb6
lea r15, [rbx + 0xe8]
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.14000c278
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x20]
mov rdi, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [rdi + 0x60]
test r14d, r14d
jne 0x140049be3
test ebp, ebp
je 0x140049bfb
mov r9d, ebp
mov r8d, r14d
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x68]
call fcn.14000bfb8
test r12b, 0x10
je 0x140049c23
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov byte [rsp + 0x20], r13b
mov r9, r12
mov r8, qword [rsp + 0x70]
mov edx, esi
mov rcx, qword [rbx + 0x40]
call fcn.1400a17a0
lea rcx, [rsp + 0x68]
call fcn.14000c698
nop
lea rcx, [rsp + 0x68]
call fcn.14000c70c
movabs rax, 1
mov rcx, qword [rsp + 0x5a0]
xor rcx, rsp
call fcn.14002f990
add rsp, 0x5b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret