Function at 0x406d70
Capabilities:
Check for unmoving mouse cursor
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x4241d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, ecx
mov ecx, dword [ebp + 0xc]
lea eax, [ecx - 1]
cmp eax, 4
ja case.default.0x406d94
push esi
jmp dword [eax*4 + 0x406ffc]
cmp dword [edi + 0xa8], 0
je 0x406fe4
cmp dword [edi + 0x5c], 0
je 0x406fe4
cmp dword [edi + 0x64], 0
jne 0x406fe4
mov ecx, edi
call fcn.004062b0
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ebx, eax
test esi, esi
jne 0x406fe4
test ebx, ebx
je 0x406fe4
push 4
push ebx
call dword [sym.imp.USER32.dll_GetWindow]
mov ecx, dword [edi + 4]
mov edx, eax
test ecx, ecx
je 0x406dfe
cmp ebx, ecx
je 0x406df7
cmp edx, ecx
jne 0x406dfe
mov esi, 1
jmp 0x406e00
xor esi, esi
mov eax, dword [edi + 0x90]
test eax, eax
je 0x406e19
cmp ebx, eax
je 0x406e12
cmp edx, eax
jne 0x406e19
mov eax, 1
jmp 0x406e1b
xor eax, eax
test esi, esi
jne 0x406fe4
test eax, eax
jne 0x406fe4
push dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
push dword [edi + 0x90]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x406e52
push esi
push dword [edi + 0x90]
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push dword [edi + 0x88]
push 3
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x406fe4
cmp dword [edi + 0xa8], 0
je 0x406fe4
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push ecx
push dword [edi + 4]
call esi
push 3
push dword [edi + 4]
call esi
cmp dword [edi + 0x5c], 0
je 0x406fe4
cmp dword [edi + 0x64], 0
je 0x406fe4
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x14]
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push dword [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x406fe4
push 4
push dword [edi + 4]
call esi
push 0
push dword [edi + 0x8c]
push 4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x406fe4
push 3
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, edi
call fcn.004062b0
test eax, eax
je 0x406f45
push dword [edi + 0x90]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x406f39
push 1
push dword [edi + 0x90]
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x1b
push 0
push 0
push 0
push 0
push dword [edi + 0x90]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, edi
call fcn.00401bf0
jmp 0x406fe4
mov ecx, edi
call fcn.004014b0
jmp 0x406fe4
mov ecx, edi
call fcn.0040a160
jmp 0x406fe4
mov ecx, edi
call fcn.004062b0
test eax, eax
jne 0x406f71
mov ecx, edi
call fcn.00401c20
jmp 0x406fe4
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x14]
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push dword [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x406fdd
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, dword [edi + 0x38]
jne 0x406fac
cmp eax, dword [edi + 0x3c]
je 0x406fdd
push 4
push dword [edi + 4]
mov dword [edi + 0x38], ecx
mov dword [edi + 0x3c], eax
call dword [sym.imp.USER32.dll_KillTimer]
push 0
push dword [edi + 0x8c]
push 4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
push str._ncant_show_since_mouse_moved____reset_show_delay_timer
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x406fe4
mov ecx, edi
call fcn.00402030
pop esi
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop ebx
call fcn.0040ad72
mov esp, ebp
pop ebp
ret 0x10