Function at 0x409ea0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov ecx, dword [0x423e2c]
sub esp, 0x1c
movss xmm3, dword [0x41e04c]
mov eax, ecx
movss xmm4, dword [0x41e060]
push ebx
push esi
push edi
sub eax, 0
je 0x409ee9
sub eax, 1
je 0x409eee
sub eax, 1
jne 0x40a80a
movss xmm4, dword [0x43de0c]
movss xmm3, dword [0x43de08]
jmp 0x409f3b
mov ecx, 1
mov eax, dword [0x422438]
inc ecx
mov byte [0x423cc5], 0
mov dword [0x423df8], 0xffffffee
mov byte [0x423cc6], 0
mov dword [eax + 0x140c], 0x3f800000
mov eax, dword [0x422438]
mov dword [0x423e2c], ecx
mov dword [eax + 0x140c], 0x3f800000
movss dword [0x43de08], xmm3
movss dword [0x43de0c], xmm4
mov eax, dword [0x43de48]
movss xmm2, dword [0x43de20]
test eax, eax
je 0x40a0d6
cmp eax, 3
jne 0x409f93
xorps xmm1, xmm1
movss xmm0, dword [0x43de04]
ucomiss xmm0, xmm1
mov dword [0x43de40], 0
mov dword [0x43de44], 1
mulss xmm2, xmm1
lahf
movss dword [0x43de18], xmm2
test ah, 0x44
jp 0x409f93
mov dword [0x43de48], 0
movss xmm2, dword [0x41dfbc]
movss dword [0x423d5c], xmm3
subss xmm3, dword [0x423d54]
mov ebx, dword [sym.imp.USER32.dll_GetCursorPos]
movss dword [0x423d74], xmm4
push 0x423d68
mov dword [0x43de04], 0
movaps xmm0, xmm3
mulss xmm0, xmm2
cvttss2si eax, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm2
mov dword [0x423de0], eax
cvttss2si eax, xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x41e038]
mov dword [0x423e20], eax
mulss xmm0, xmm2
cvttss2si eax, xmm0
movaps xmm0, xmm4
subss xmm0, dword [0x41e048]
subss xmm4, dword [0x41e054]
mov dword [0x423e24], eax
mulss xmm0, xmm2
mulss xmm4, xmm2
cvttss2si ecx, xmm0
movaps xmm0, xmm3
subss xmm0, dword [0x41e038]
mov dword [0x423e1c], ecx
mov dword [0x423e0c], ecx
cvttss2si ecx, xmm4
mulss xmm0, xmm2
mov dword [0x423dfc], ecx
mov dword [0x423e08], ecx
cvttss2si eax, xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x41e03c]
subss xmm3, dword [0x41e03c]
mov dword [0x423e04], eax
mulss xmm0, xmm2
mulss xmm3, xmm2
cvttss2si eax, xmm0
mov dword [0x423de8], eax
cvttss2si eax, xmm3
mov dword [0x423de4], eax
call ebx
push 0x423d68
push dword [0x4223a8]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [0x423d4c]
mov edx, dword [0x423e20]
lea esi, [eax + eax*2]
shl esi, 2
lea eax, [esi + edx]
imul ecx, eax, 0xc8
mov eax, dword [0x423de0]
cmp byte [ecx + eax + 0x41c2b8], 0
jne 0x40a156
shl edx, 6
mov byte [0x423cc6], 1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
jmp 0x40a176
movss xmm0, dword [0x43de24]
xorps xmm1, xmm1
mov eax, dword [0x422430]
mulss xmm0, xmm1
mov dword [0x43de40], 0
mov dword [0x43de44], 1
movss dword [0x43de1c], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm1
movss dword [0x43de18], xmm0
mov eax, dword [eax + 8]
test al, 4
je 0x40a135
mov dword [0x43de48], 3
mov dword [0x43de10], 0xbf000000
jmp 0x409f93
test al, 8
je 0x409f58
mov dword [0x43de48], 3
mov dword [0x43de10], 0x3f000000
jmp 0x409f93
cmp dword [0x423df8], 0xfffffff5
mov byte [0x423cc6], 0
jge 0x40a17e
movss xmm0, dword [0x43de0c]
addss xmm0, dword [0x41e030]
movss dword [0x43de0c], xmm0
mov eax, dword [0x423e1c]
xorps xmm2, xmm2
mov edx, dword [0x423e24]
add eax, esi
movss xmm6, dword [0x41e064]
movsd xmm7, qword [0x41dfd8]
movsd xmm5, qword [0x41e008]
movss xmm3, dword [0x43de04]
imul eax, eax, 0xc8
cmp byte [eax + edx + 0x41c2b8], 0
jne 0x40a1c3
comiss xmm3, xmm2
jae 0x40a1ec
mov eax, dword [0x423dfc]
add eax, esi
imul ecx, eax, 0xc8
mov eax, dword [0x423de8]
cmp byte [ecx + eax + 0x41c2b8], 0
jne 0x40a2ac
comiss xmm3, xmm2
jbe 0x40a2ac
movss xmm0, dword [0x41e084]
comiss xmm0, dword [0x423d54]
jbe 0x40a240
movd xmm0, edx
xorps xmm3, xmm3
cvtdq2pd xmm0, xmm0
mov dword [0x423d54], 0xc6340000
movss dword [0x43de04], xmm3
subsd xmm0, xmm7
mulsd xmm0, xmm5
subsd xmm0, qword [0x41e028]
addsd xmm0, qword [0x41dff8]
cvtpd2ps xmm4, xmm0
movss dword [0x43de08], xmm4
jmp 0x40a2b4
movss xmm4, dword [0x43de08]
comiss xmm6, xmm4
jbe 0x40a27e
movd xmm0, edx
xorps xmm3, xmm3
cvtdq2pd xmm0, xmm0
movss dword [0x43de04], xmm3
subsd xmm0, xmm7
mulsd xmm0, xmm5
addsd xmm0, qword [0x41dff8]
cvtpd2ps xmm4, xmm0
movss dword [0x43de08], xmm4
jmp 0x40a2b4
movsd xmm0, qword [0x41e018]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
subsd xmm1, qword [0x41dfd0]
mulsd xmm1, xmm5
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x423d54], xmm0
jmp 0x40a2b4
movss xmm4, dword [0x43de08]
mov eax, dword [0x423e0c]
mov edx, dword [0x423e04]
add eax, esi
imul eax, eax, 0xc8
cmp byte [eax + edx + 0x41c2b8], 0
jne 0x40a2d6
comiss xmm2, xmm3
jae 0x40a2f7
mov eax, dword [0x423e08]
add eax, esi
imul ecx, eax, 0xc8
mov eax, dword [0x423de4]
cmp byte [ecx + eax + 0x41c2b8], 0
jne 0x40a354
comiss xmm2, xmm3
jbe 0x40a354
comiss xmm6, xmm4
mov dword [0x43de04], 0
jbe 0x40a32c
shl edx, 6
add edx, 0x4a
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
movss dword [0x43de08], xmm0
jbe 0x40a354
mov dword [0x43de08], 0x44200000
jmp 0x40a354
movsd xmm0, qword [0x41e010]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm7
mulsd xmm1, xmm5
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x423d54], xmm0
mov eax, dword [0x422430]
mov eax, dword [eax + 8]
mov ecx, eax
and ecx, 8
test al, 4
je 0x40a38b
test ecx, ecx
je 0x40a37f
mov dword [0x43de04], 0
mov dword [0x43de48], 0
jmp 0x40a399
mov dword [0x43de04], 0xc0a00000
jmp 0x40a399
test ecx, ecx
je 0x40a399
mov dword [0x43de04], 0x40a00000
mov edi, 0x423d24
mov esi, 0x43d9a8
mov eax, dword [0x422430]
test dword [eax + 0xc], 0x10000
je 0x40a4ba
mov eax, dword [0x423d68]
movss xmm0, dword [esi]
mov ecx, dword [0x423d6c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [edi]
push eax
mov dword [esp + 0x28], ecx
movss dword [esp + 0x20], xmm0
call ebx
lea eax, [esp + 0x20]
push eax
push dword [0x4223a8]
call dword [sym.imp.USER32.dll_ScreenToClient]
movd xmm0, dword [esp + 0x24]
movsd xmm1, qword [0x41dff0]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movd xmm1, dword [esp + 0x20]
cvtdq2ps xmm1, xmm1
movsd qword [esp + 0x10], xmm0
subss xmm1, dword [esp + 0x1c]
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x41dff0]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
addsd xmm0, qword [esp + 0x10]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x40a44d
sqrtsd xmm0, xmm0
jmp 0x40a452
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [0x41e044]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jb 0x40a4ac
movd xmm0, dword [0x423d68]
mov edx, 2
mov eax, dword [0x423d6c]
cvtdq2ps xmm0, xmm0
add eax, 0x96
mov byte [0x423cc5], 1
mov dword [0x423df8], 9
movss dword [0x423dd8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x423e00], xmm0
call fcn.00403780
jmp 0x40a4ba
sub dword [0x423df8], 2
mov byte [0x423cc5], 0
add esi, 0x7c
add edi, 4
cmp esi, 0x43de04
jl 0x40a3a3
cmp byte [0x423cc5], 1
je 0x40a4eb
cmp dword [0x423df8], 0xfffffff5
jge 0x40a4eb
movss xmm2, dword [0x43de0c]
jmp 0x40a5a4
movss xmm0, dword [0x423e00]
movss xmm2, dword [0x43de0c]
nop dword [eax + eax]
subss xmm0, xmm2
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [0x423dd8]
subss xmm0, dword [0x43de08]
fld qword [esp + 0x20]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
movss dword [0x43de00], xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x41e034]
addss xmm0, dword [0x43de08]
movss dword [0x43de08], xmm0
movss xmm0, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm2, xmm0
movss xmm0, dword [0x423e00]
mulss xmm2, dword [0x41e034]
addss xmm2, dword [0x43de0c]
comiss xmm2, xmm0
movss dword [0x43de0c], xmm2
jb 0x40a500
movss xmm4, dword [0x423d54]
mov esi, 0x43c734
movss xmm3, dword [0x43de08]
movss xmm5, dword [0x41e074]
movss xmm0, dword [esi]
movaps xmm1, xmm3
addss xmm0, xmm4
subss xmm1, xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm5, xmm0
jb 0x40a637
inc dword [0x423e10]
mov edx, 1
mov dword [0x423d54], 0
mov dword [0x423df8], 0xffffffee
mov dword [0x43de08], 0x42480000
call fcn.00403780
movss xmm4, dword [0x423d54]
movss xmm2, dword [0x43de0c]
movss xmm3, dword [0x43de08]
movss xmm5, dword [0x41e074]
add esi, 0x7c
cmp esi, 0x43c8a8
jl 0x40a5c1
mov esi, 0x43c53c
nop dword [eax + eax]
movss xmm0, dword [esi]
movaps xmm1, xmm3
addss xmm0, xmm4
subss xmm1, xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm5, xmm0
jb 0x40a6c6
inc dword [0x423e10]
mov edx, 1
mov dword [0x423d54], 0
mov dword [0x423df8], 0xffffffee
mov dword [0x43de08], 0x42480000
call fcn.00403780
movss xmm4, dword [0x423d54]
movss xmm2, dword [0x43de0c]
movss xmm3, dword [0x43de08]
movss xmm5, dword [0x41e074]
add esi, 0x7c
cmp esi, 0x43c6b0
jl 0x40a650
movss xmm0, dword [0x43c6b4]
movss xmm1, dword [0x423d5c]
addss xmm0, xmm4
subss xmm1, xmm0
movss xmm0, dword [0x423d74]
subss xmm0, dword [0x43c6b8]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm5, xmm0
jb 0x40a72c
mov edx, 3
mov dword [0x423ddc], 1
mov dword [0x423d60], 0
call fcn.00403780
movss xmm1, dword [0x43de04]
addss xmm1, dword [0x43de08]
mov eax, dword [0x423d68]
movss dword [0x43de08], xmm1
test eax, eax
jns 0x40a759
mov dword [0x423d68], 0
jmp 0x40a76a
cmp eax, 0x500
jle 0x40a76a
mov dword [0x423d68], 0x500
mov eax, dword [0x423d6c]
test eax, eax
jns 0x40a77f
mov dword [0x423d6c], 0
jmp 0x40a790
cmp eax, 0x2d0
jle 0x40a790
mov dword [0x423d6c], 0x2d0
comiss xmm1, dword [0x41e070]
jbe 0x40a7a5
mov dword [0x43de08], 0x44a00000
jmp 0x40a7b7
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x40a7b7
mov dword [0x43de08], 0
movss xmm1, dword [0x43de0c]
comiss xmm1, dword [0x41e068]
jbe 0x40a7f8
mov edx, 1
mov dword [0x43de08], 0x42480000
mov dword [0x43de0c], 0x44160000
mov dword [0x423d54], 0
call fcn.00403780
movss xmm1, dword [0x43de0c]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x40a80a
mov dword [0x43de0c], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret