Function at 0x415a40
Capabilities:
Check for unmoving mouse cursor

Disassembly:
sub esp, 0x24
push esi
mov esi, eax
cmp esi, 4
jl 0x415a65
cmp esi, 0xb
jg 0x415a65
mov ecx, dword [0x43e3ac]
mov edx, dword [ecx + 0x34]
lea eax, [esp + 0x18]
push eax
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp esi, 0x1b
ja case.default.0x415a74
mov ecx, dword [0x43e3ac]
jmp dword [esi*4 + 0x415c68]
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x10]
pop esi
add esp, 0x24
ret
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x14]
pop esi
add esp, 0x24
ret
mov ecx, dword [0x43e3a8]
call fcn.00419d40
pop esi
add esp, 0x24
ret
mov eax, dword [0x43e3b4]
pop esi
add esp, 0x24
ret
mov eax, dword [esp + 0x18]
pop esi
add esp, 0x24
ret
mov eax, dword [esp + 0x1c]
pop esi
add esp, 0x24
ret
mov eax, dword [esp + 0x20]
pop esi
add esp, 0x24
ret
mov eax, dword [esp + 0x24]
pop esi
add esp, 0x24
ret
mov edx, dword [0x43e3ac]
mov eax, dword [edx + 0x5c]
pop esi
add esp, 0x24
ret
mov eax, dword [0x43e3ac]
mov eax, dword [eax + 0x60]
pop esi
add esp, 0x24
ret
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x18]
pop esi
add esp, 0x24
ret
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
pop esi
add esp, 0x24
ret
mov ecx, dword [0x43e3ac]
cmp dword [ecx + 0x44], 1
je case.0x415a74.26
lea edx, [esp + 8]
push edx
lea eax, [esp + 8]
push eax
call fcn.0041b340
mov eax, dword [esp + 4]
pop esi
add esp, 0x24
ret
mov eax, dword [ecx + 4]
pop esi
add esp, 0x24
ret
cmp dword [ecx + 0x44], 1
je case.0x415a74.27
lea edx, [esp + 8]
push edx
lea eax, [esp + 8]
push eax
call fcn.0041b340
mov eax, dword [esp + 8]
pop esi
add esp, 0x24
ret
mov eax, dword [ecx + 8]
pop esi
add esp, 0x24
ret
mov ecx, dword [0x43e3ac]
mov eax, dword [ecx + 0x110]
pop esi
add esp, 0x24
ret
mov edx, dword [0x43e3ac]
mov eax, dword [edx + 0x114]
pop esi
add esp, 0x24
ret
mov eax, dword [0x43e3ac]
movzx eax, byte [eax + 0xa0]
pop esi
add esp, 0x24
ret
mov ecx, dword [0x43e3ac]
movzx eax, byte [ecx + 0xa1]
pop esi
add esp, 0x24
ret
mov edx, dword [0x43e3ac]
movzx eax, byte [edx + 0xa2]
pop esi
add esp, 0x24
ret
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0x26
push esi
mov dword [esp + 0xc], 0
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
test ah, 1
je 0x415be7
mov dword [esp + 4], 1
push esi
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [esp + 4]
pop esi
add esp, 0x24
ret
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
pop esi
add esp, 0x24
ret
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
pop esi
add esp, 0x24
ret
mov eax, dword [0x43e3ac]
mov eax, dword [eax + 0x6c]
pop esi
add esp, 0x24
ret
mov ecx, dword [0x43e3ac]
mov eax, dword [ecx + 0x70]
pop esi
add esp, 0x24
ret
mov edx, dword [0x43e360]
mov eax, dword [edx + 0x324]
pop esi
add esp, 0x24
ret
mov ecx, dword [0x43e3a8]
call fcn.00419ec0
pop esi
add esp, 0x24
ret
push 0x439d84
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0x15
call fcn.00423dee
mov edi, edi
jnp 0x415cc4
inc ecx
add byte [edi - 0x5cffbea6], cl
pop edx
inc ecx
add byte [ebx - 0x42ffbea6], dh
pop edx
inc ecx
add dh, al
pop edx
inc ecx
add bh, cl
pop edx
inc ecx
add al, bl
pop edx
inc ecx
add cl, ah
pop edx
inc ecx
add bh, ch
pop edx
inc ecx
add ah, bh
pop edx
inc ecx
add byte [ecx], cl
pop ebx
inc ecx
add byte [esi], dl
pop ebx
inc ecx
add byte [edx + 0x5b], al
inc ecx
add byte [eax + 0x5b], ch
inc ecx
add byte [ecx + 0x5b], bh
inc ecx
add byte [edx - 0x64ffbea5], cl
pop ebx
inc ecx
add byte [ebp - 0x40ffbea5], ch
pop ebx
inc ecx
add cl, bh
pop ebx
inc ecx
add byte [esi], al
pop esp
inc ecx
add byte [ebx], dl
pop esp
inc ecx
add byte [eax], ah
pop esp
inc ecx
add byte [esi], ch
pop esp
and byte [ecx + eax*2], bl
pop esp
inc ecx
add byte [edi], bh
pop esp
inc ecx
add byte [edx], bh
pop ebx
inc ecx
add byte [eax + 0x5b], ah
inc ecx
add ah, cl
int3