Function at 0x42def0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x18
push ebx
push ebp
xor ebp, ebp
cmp eax, ebp
push esi
push edi
jge 0x42df07
mov dword [esp + 0x34], ebp
jmp 0x42df14
cmp eax, 0x64
jle 0x42df14
mov dword [esp + 0x34], 0x64
mov al, byte [esp + 0x38]
test al, al
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
je 0x42df43
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
add edi, ecx
add esi, eax
jmp 0x42df8d
test byte [0x45d629], 2
jne 0x42df85
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
cmp esi, ebp
je 0x42df85
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x42df85
lea ecx, [esp + 0x18]
push ecx
push esi
call ebx
test eax, eax
je 0x42df85
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
add edi, ecx
add esi, eax
jmp 0x42df8d
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
test eax, eax
jne 0x42dfaf
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
mov eax, edi
imul eax, eax, 0xffff
cdq
idiv ecx
mov edx, dword [esp + 0x24]
lea ecx, [edx - 1]
mov ebp, eax
mov eax, esi
imul eax, eax, 0xffff
cdq
idiv ecx
inc ebp
mov ebx, eax
mov eax, dword [esp + 0x34]
inc ebx
test eax, eax
jne 0x42e041
push 0xffc3d44f
push eax
push ebx
push ebp
push 0x8001
call dword [sym.imp.USER32.dll_mouse_event]
mov eax, dword [0x45d624]
test eax, eax
jl 0x42e02a
cmp eax, 0xb
jl 0x42e032
cmp eax, 0x19
jge 0x42e011
mov cl, byte [0x45f111]
test cl, cl
jne 0x42e032
push 0
push eax
mov byte [0x45b056], 0
call fcn.00401650
add esp, 8
mov byte [0x45b056], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
jl 0x42e048
cmp eax, 0x64
jle 0x42e053
movzx edx, byte [0x45d628]
mov dword [esp + 0x34], edx
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
imul eax, eax, 0xffff
cdq
dec ecx
idiv ecx
mov edx, dword [esp + 0x24]
lea ecx, [edx - 1]
mov edi, eax
mov eax, dword [esp + 0x14]
imul eax, eax, 0xffff
cdq
idiv ecx
inc edi
mov esi, eax
inc esi
lea ebx, [ebx]
cmp edi, ebp
jne 0x42e09a
cmp esi, ebx
je 0x42e02a
cmp edi, ebp
jge 0x42e0bb
mov eax, ebp
sub eax, edi
cdq
idiv dword [esp + 0x34]
test eax, eax
je 0x42e0ae
cmp eax, 0x20
jge 0x42e0b3
mov eax, 0x20
add edi, eax
cmp edi, ebp
jle 0x42e0de
jmp 0x42e0dc
cmp edi, ebp
jle 0x42e0de
mov eax, edi
sub eax, ebp
cdq
idiv dword [esp + 0x34]
test eax, eax
je 0x42e0d1
cmp eax, 0x20
jge 0x42e0d6
mov eax, 0x20
sub edi, eax
cmp edi, ebp
jge 0x42e0de
mov edi, ebp
cmp esi, ebx
jge 0x42e101
mov eax, ebx
sub eax, esi
cdq
idiv dword [esp + 0x34]
test eax, eax
je 0x42e0f4
cmp eax, 0x20
jge 0x42e0f9
mov eax, 0x20
add esi, eax
cmp esi, ebx
jle 0x42e122
jmp 0x42e120
jle 0x42e122
mov eax, esi
sub eax, ebx
cdq
idiv dword [esp + 0x34]
test eax, eax
je 0x42e115
cmp eax, 0x20
jge 0x42e11a
mov eax, 0x20
sub esi, eax
cmp esi, ebx
jge 0x42e122
mov esi, ebx
push 0xffc3d44f
push 0
push esi
push edi
push 0x8001
call dword [sym.imp.USER32.dll_mouse_event]
mov eax, dword [0x45d624]
test eax, eax
jl 0x42e090
cmp eax, 0xb
jl 0x42e175
cmp eax, 0x19
jge 0x42e157
mov cl, byte [0x45f111]
test cl, cl
jne 0x42e175
push 0
push eax
mov byte [0x45b056], 0
call fcn.00401650
add esp, 8
mov byte [0x45b056], 1
jmp 0x42e090
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
jmp 0x42e090