Function at 0x406e0a
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 0xc]
cmp eax, 0x20
push ebx
push esi
push edi
jne 0x406fb8
mov eax, dword [0x452088]
xor ebx, ebx
cmp dword [eax + 0x3c], ebx
je 0x406fa8
cmp word [ebp + 0x14], 0x12
jne 0x406fa8
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jl 0x406e64
add eax, 2
cmp ecx, eax
jg 0x406e64
inc ebx
mov eax, dword [ebp - 0x10]
lea edx, [eax - 2]
cmp ecx, edx
jl 0x406e75
cmp ecx, eax
jg 0x406e75
or ebx, 2
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
jl 0x406e89
add eax, 2
cmp ecx, eax
jg 0x406e89
or ebx, 4
mov eax, dword [ebp - 0xc]
lea edx, [eax - 2]
cmp ecx, edx
jl 0x406e9a
cmp ecx, eax
jg 0x406e9a
or ebx, 8
mov eax, dword [0x452088]
mov esi, dword [eax + 0x3c]
cmp edi, esi
jne 0x406eb1
cmp ebx, 2
jne 0x406eb1
cmp dword [eax + 0x44], 0
jne 0x406ee3
mov edx, dword [eax + 0x44]
cmp edi, edx
jne 0x406ec1
cmp ebx, 1
jne 0x406ec1
test esi, esi
jne 0x406ee3
mov ecx, dword [eax + 0x4c]
cmp edi, ecx
jne 0x406ed3
cmp ebx, 2
jne 0x406ed3
cmp dword [eax + 0x54], 0
jne 0x406ee3
mov eax, dword [eax + 0x54]
cmp edi, eax
jne 0x406ef9
cmp ebx, 1
jne 0x406ef9
test ecx, ecx
je 0x406ef9
push dword [0x46c6d8]
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [0x46c6d8]
jmp 0x406f99
cmp edi, esi
jne 0x406f06
cmp ebx, 8
jne 0x406f06
test ecx, ecx
jne 0x406f2d
cmp edi, edx
jne 0x406f13
cmp ebx, 8
jne 0x406f13
test eax, eax
jne 0x406f2d
cmp edi, ecx
jne 0x406f20
cmp ebx, 4
jne 0x406f20
test esi, esi
jne 0x406f2d
cmp edi, eax
jne 0x406f40
cmp ebx, 4
jne 0x406f40
test edx, edx
je 0x406f40
push dword [0x4714c8]
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [0x4714c8]
jmp 0x406f99
test esi, esi
je 0x406fa8
test edx, edx
je 0x406fa8
test ecx, ecx
je 0x406fa8
test eax, eax
je 0x406fa8
cmp edi, esi
jne 0x406f5e
test bl, 2
je 0x406f5e
test bl, 8
jne 0x406f88
cmp edi, edx
jne 0x406f6c
test bl, 1
je 0x406f6c
test bl, 8
jne 0x406f88
cmp edi, ecx
jne 0x406f7a
test bl, 2
je 0x406f7a
test bl, 4
jne 0x406f88
cmp edi, eax
jne 0x406fa8
test bl, 1
je 0x406fa8
test bl, 4
je 0x406fa8
push dword [0x45388c]
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [0x45388c]
mov ecx, dword [ebp + 0x18]
mov dword [0x452804], eax
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x406fb1
and dword [0x452804], 0
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x14
cmp eax, 0x203
je 0x4072c9
cmp eax, 0xa3
je 0x4072c9
cmp eax, 0x204
je 0x4071bf
cmp eax, 0xa4
je 0x4071bf
cmp eax, 0x201
je 0x407178
cmp eax, 0xa1
je 0x407178
cmp eax, 0x200
jne 0x4070e4
test byte [0x4527c4], 2
je 0x406faf
cmp dword [0x45244c], 0
mov eax, dword [0x452088]
lea esi, [eax + 0x384]
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jle 0x407044
dec dword [0x45244c]
jne 0x4070dc
push 1
push eax
call fcn.00412840
pop ecx
pop ecx
jmp 0x4070dc
push 1
push eax
call fcn.00412840
pop ecx
pop ecx
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [0x452804]
cmp eax, dword [0x46c6d8]
je 0x40706d
cmp eax, dword [0x45388c]
jne 0x407086
mov ecx, dword [ebp - 8]
mov eax, dword [0x452088]
sub ecx, dword [0x4524f4]
add dword [eax + 0x38c], ecx
mov eax, dword [0x452804]
cmp eax, dword [0x4714c8]
je 0x407096
cmp eax, dword [0x45388c]
jne 0x4070aa
mov ecx, dword [ebp - 4]
sub ecx, dword [0x4524f8]
mov eax, dword [0x452088]
add dword [eax + 0x390], ecx
push 1
push dword [0x452088]
call fcn.00412840
mov eax, dword [0x452088]
pop ecx
pop ecx
mov ecx, dword [eax + 0x38c]
sub ecx, dword [ebp - 0x10]
add dword [0x4524f4], ecx
mov eax, dword [eax + 0x390]
sub eax, dword [ebp - 0xc]
add dword [0x4524f8], eax
mov eax, dword [ebp + 0x18]
and dword [eax], 0
jmp 0x40712f
cmp eax, 0x202
jne 0x407137
test byte [0x4527c4], 2
je 0x406faf
push 2
call fcn.004117d4
xor esi, esi
cmp dword [0x45244c], esi
pop ecx
jne 0x406faf
push 1
push dword [0x452088]
call fcn.00412840
push esi
push dword [0x452088]
call fcn.00412840
add esp, 0x10
mov eax, dword [ebp + 0x18]
mov dword [eax], esi
xor eax, eax
inc eax
jmp 0x406fb1
cmp eax, 0x215
jne 0x406faf
test byte [0x4527c4], 2
je 0x406faf
push 2
call fcn.004117d4
cmp dword [0x45244c], 0
pop ecx
jne 0x406faf
push 1
push dword [0x452088]
call fcn.00412840
pop ecx
pop ecx
jmp 0x406faf
test byte [0x4527c4], 2
jne 0x406faf
cmp dword [0x452804], 0
je 0x406faf
push 0x4524f4
call dword [sym.imp.USER32.dll_GetCursorPos]
xor esi, esi
push 2
push dword [ebp + 8]
inc esi
mov dword [0x45244c], esi
call fcn.004117b6
mov eax, dword [ebp + 0x18]
and dword [eax], 0
pop ecx
pop ecx
mov eax, esi
jmp 0x406fb1
cmp dword [0x452804], 0
je 0x406faf
call dword [sym.imp.USER32.dll_CreatePopupMenu]
test eax, eax
mov dword [ebp + 8], eax
je 0x406faf
push 0xa
pop edi
push 0x5a
pop ebx
mov esi, 0x46bec0
push ebx
push edi
push str._d__d
push esi
call fcn.00401644
push esi
push edi
push 0
push dword [ebp + 8]
call fcn.0040586d
sub ebx, 0xa
add esp, 0x20
add edi, 0xa
test ebx, ebx
jg 0x4071e8
xor edi, edi
push edi
push 0x32
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetMenuDefaultItem]
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push edi
push dword [0x4527bc]
push edi
push dword [ebp - 4]
push dword [ebp - 8]
push 0x186
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
mov esi, eax
cmp esi, edi
je 0x4072b6
mov eax, dword [0x452804]
cmp eax, dword [0x46c6d8]
je 0x40725d
cmp eax, dword [0x45388c]
jne 0x40727d
mov ecx, dword [0x452088]
mov eax, dword [ecx + 0x37c]
imul eax, esi
cdq
push 0x64
pop ebx
idiv ebx
mov dword [ecx + 0x38c], eax
mov eax, dword [0x452804]
cmp eax, dword [0x4714c8]
je 0x40728d
cmp eax, dword [0x45388c]
jne 0x4072a8
mov ecx, dword [0x452088]
mov eax, dword [ecx + 0x380]
imul eax, esi
push 0x64
cdq
pop esi
idiv esi
mov dword [ecx + 0x390], eax
push edi
push dword [0x452088]
call fcn.00412840
pop ecx
pop ecx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [ebp + 0x18]
mov dword [eax], edi
jmp 0x40712f
mov eax, dword [0x452804]
xor esi, esi
cmp eax, esi
je 0x406faf
mov ecx, dword [0x45388c]
xor edx, edx
cmp eax, dword [0x46c6d8]
je 0x4072ec
cmp eax, ecx
jne 0x4072ef
push 0x14
pop edx
cmp eax, dword [0x4714c8]
je 0x4072fb
cmp eax, ecx
jne 0x4072fe
or edx, 0x18
push edx
push dword [0x452088]
call fcn.004279a3
mov eax, dword [0x452088]
pop ecx
pop ecx
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [0x452088]
cmp dword [eax + 0x44], esi
jne 0x407339
cmp dword [eax + 0x4c], esi
jne 0x407339
cmp dword [eax + 0x54], esi
jne 0x407339
push esi
push esi
call fcn.00427c9b
pop ecx
pop ecx
jmp 0x40734e
push eax
call fcn.00410ed0
push esi
push dword [0x452088]
call fcn.00412840
add esp, 0xc
mov eax, dword [0x452088]
cmp dword [eax + 0x44], esi
je 0x407364
mov dword [0x452808], 0x1075
jmp 0x407373
cmp dword [eax + 0x4c], esi
je 0x407373
mov dword [0x452808], 0x1076
push esi
push esi
push 0x111
push dword [0x4527bc]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x40712a