Function at 0x10071ed0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x260]
mov ebx, dword [eax + 8]
lea eax, [ebp - 0x38]
push eax
push ebx
mov dword [ebp - 0x3c], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
cmp byte [edi + 0x25e], 0
je 0x10072115
cmp byte [edi + 0x10b], 0
jne 0x10072122
mov eax, dword [edi + 0x260]
mov byte [edi + 0x10b], 1
mov ecx, dword [eax + 0xc]
movzx eax, byte [edi + 0x128]
push eax
push 1
mov edx, dword [ecx]
push 2
call dword [edx + 0xa0]
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.1006f0e0
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push 0x410
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
push ebx
call fcn.1006f010
mov esi, dword [sym.imp.MSVCR120.dll_rand]
call esi
cdq
mov ecx, 0xb
idiv ecx
mov eax, 5
sub eax, edx
movd xmm0, eax
mov eax, dword [edi + 0x260]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
mov eax, dword [edi + 0x124]
divsd xmm1, xmm0
cvttsd2si ecx, xmm1
add ecx, dword [eax]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [edi + 0x170], xmm0
call esi
cdq
mov ecx, 0xb
idiv ecx
mov eax, 5
sub eax, edx
movd xmm0, eax
mov eax, dword [edi + 0x260]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
mov eax, dword [edi + 0x124]
divsd xmm1, xmm0
cvttsd2si ecx, xmm1
add ecx, dword [eax + 4]
mov eax, dword [edi + 0x1bc]
mov byte [edi + 0x198], 1
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [edi + 0x178], xmm0
test eax, eax
je 0x10072045
push eax
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [edi + 0x1bc], 0
lea eax, [ebp - 0x28]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x1007205e
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.USER32.dll_ClipCursor]
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
cmp byte [edi + 0x108], 0
jne 0x1007207c
cmp byte [edi + 0x109], 0
je 0x100722d0
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x10]
push eax
mov eax, dword [edi + 0x260]
push dword [eax + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x10]
mov ecx, dword [edi + 0x260]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.1001ff10
cmp byte [edi + 0x108], 0
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], eax
je 0x100720f0
lea eax, [ebp - 0x28]
mov byte [edi + 0x108], 0
push eax
mov ecx, esi
mov dword [ebp - 0x28], 1
call fcn.10031b50
cmp byte [edi + 0x109], 0
je 0x100722d0
mov byte [edi + 0x109], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 2
mov ecx, esi
jmp 0x100722ca
cmp byte [edi + 0x10b], 0
je 0x100722d0
mov eax, dword [edi + 0x260]
mov byte [edi + 0x10b], 0
mov ecx, dword [eax + 0xc]
movzx eax, byte [edi + 0x128]
push eax
push 0
mov edx, dword [ecx]
push 2
call dword [edx + 0xa0]
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.1006f0e0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push 0x410
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
push ebx
call fcn.1006f010
mov esi, dword [sym.imp.MSVCR120.dll_rand]
call esi
cdq
mov ecx, 0xb
idiv ecx
mov ebx, 5
mov eax, ebx
sub eax, edx
movd xmm0, eax
mov eax, dword [edi + 0x260]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
mov eax, dword [edi + 0x124]
divsd xmm1, xmm0
cvttsd2si ecx, xmm1
add ecx, dword [eax]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [edi + 0x170], xmm0
call esi
cdq
mov ecx, 0xb
idiv ecx
mov eax, dword [edi + 0x260]
sub ebx, edx
movd xmm1, dword [eax + 0x10]
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
mov eax, dword [edi + 0x124]
divsd xmm1, xmm0
cvttsd2si ecx, xmm1
add ecx, dword [eax + 4]
mov eax, dword [edi + 0x1bc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [edi + 0x178], xmm0
test eax, eax
je 0x10072241
push eax
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [edi + 0x1bc], 0
push 0
call dword [sym.imp.USER32.dll_ClipCursor]
mov ebx, dword [sym.imp.USER32.dll_ShowCursor]
push 1
call ebx
mov esi, eax
test esi, esi
jns 0x10072271
lea esp, [esp]
push 1
call ebx
lea ecx, [esi + 1]
cmp eax, ecx
jne 0x10072271
mov esi, eax
test eax, eax
js 0x10072260
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x20]
mov ecx, dword [edi + 0x260]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.1001ff10
movzx eax, byte [edi + 0x128]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0xc], 0
push eax
call fcn.10031b50
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100ad688
mov esp, ebp
pop ebp
ret 4