Function at 0x1002d8b1
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push 0x38
mov eax, 0x10140fae
call fcn.101237d7
mov esi, ecx
mov ebx, dword [ebp + 8]
mov edx, 0x104
mov ecx, dword [sym.imp.USER32.dll_SendMessageW]
xor edi, edi
mov eax, dword [ebx + 4]
cmp eax, edx
ja 0x1002d91a
je 0x1002d944
cmp eax, 0xa1
jb 0x1002d99e
cmp eax, 0xa2
jbe 0x1002d944
cmp eax, 0xa3
jbe 0x1002d99e
cmp eax, 0xa5
jbe 0x1002d944
cmp eax, 0xa6
jbe 0x1002d99e
cmp eax, 0xa8
jbe 0x1002d944
cmp eax, 0x100
je 0x1002d944
jmp 0x1002d99e
mov edx, 0x200
cmp eax, edx
je 0x1002d960
jbe 0x1002d99e
cmp eax, 0x202
jbe 0x1002d944
cmp eax, 0x203
jbe 0x1002d99e
cmp eax, 0x205
jbe 0x1002d944
add eax, 0xfffffdf9
cmp eax, 1
ja 0x1002d99e
push ebx
push edi
push 0x407
push dword [esi + 0xa0]
call ecx
lea ecx, [esi + 0x1d8]
call fcn.10078ec6
jmp 0x1002d99e
push ebx
push edi
push 0x407
push dword [esi + 0xa0]
call ecx
cmp dword [ebx + 8], edi
jne 0x1002d99e
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], edi
push eax
mov dword [ebp - 0x14], edi
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x18]
push eax
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x18]
call fcn.1002ecb5
cmp dword [ebx + 4], 0x100
jne 0x1002d9cb
cmp dword [ebx + 8], 9
jne 0x1002d9cb
mov ecx, dword [esi + 0x3d8]
test ecx, ecx
je 0x1002d9cb
mov edx, dword [ecx]
call dword [edx + 0xa8]
test eax, eax
je 0x1002d9cb
xor eax, eax
inc eax
jmp 0x1002df4f
cmp dword [ebx + 4], 0x104
jne 0x1002daac
cmp dword [ebx + 8], 0x28
je 0x1002d9e8
cmp dword [ebx + 8], 0x27
jne 0x1002daac
mov ecx, dword [esi + 0x3d8]
test ecx, ecx
je 0x1002daac
cmp dword [ecx + 0x64], edi
je 0x1002daac
test byte [ecx + 0x2c], 2
je 0x1002daac
mov eax, dword [esi]
push edi
push ecx
mov ecx, esi
call dword [eax + 0x180]
test eax, eax
je 0x1002daac
mov ecx, dword [esi + 0x3d8]
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ecx]
call dword [eax + 0x24]
mov dword [ebp - 4], edi
call fcn.1000827c
mov ecx, dword [eax + 4]
call fcn.100053a1
mov ecx, dword [esi + 0x3d8]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov byte [ebp - 4], 1
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [esi + 0x3d8]
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ecx]
call dword [eax + 0x24]
push dword [eax]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000ae64
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x40]
test eax, eax
setne bl
lea ecx, [ecx - 0x10]
call fcn.100028d0
test bl, bl
je 0x1002da94
mov eax, dword [esi]
mov ecx, esi
push dword [esi + 0x3d8]
call dword [eax + 0x174]
lea ecx, [ebp - 0x31]
call fcn.1000f894
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.100028d0
jmp 0x1002d9c3
cmp dword [ebx + 4], 0x100
jne 0x1002dae2
cmp dword [ebx + 8], 0xd
jne 0x1002dae2
mov ecx, dword [esi + 0x3d8]
test ecx, ecx
je 0x1002dae2
cmp dword [ecx + 0x5c], edi
je 0x1002dae2
cmp dword [ecx + 0x58], edi
jne 0x1002dae2
xor eax, eax
cmp dword [ecx + 0x60], edi
sete al
push eax
call fcn.1002b11d
jmp 0x1002d9c3
mov eax, dword [esi + 0x3d8]
test eax, eax
je 0x1002df47
cmp dword [eax + 0x58], edi
je 0x1002df47
cmp dword [eax + 0x64], edi
je 0x1002df47
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x1002db25
push edi
push edi
push 0x157
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x1002db25
xor edx, edx
inc edx
jmp 0x1002db27
mov edx, edi
cmp dword [ebx + 4], 0x100
jne 0x1002dcc2
test edx, edx
je 0x1002db42
cmp dword [ebx + 8], 0xd
jne 0x1002dcc2
mov ecx, dword [ebx + 8]
mov eax, ecx
mov dword [ebp - 0x40], ecx
sub eax, 0xd
je 0x1002dc0b
sub eax, 0xe
je 0x1002dbfb
sub eax, 0xb
je 0x1002db94
dec eax
sub eax, 1
je 0x1002db94
mov edx, dword [esi + 0x3d8]
push ecx
cmp dword [edx + 0x68], edi
jne 0x1002db7f
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x54]
jmp 0x1002d9c3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b0]
neg eax
sbb eax, eax
neg eax
jmp 0x1002df4f
mov ecx, dword [esi + 0x3d8]
cmp dword [ecx + 0xa8], 1
jle 0x1002dbba
mov edx, dword [ecx]
xor eax, eax
cmp dword [ebp - 0x40], 0x26
setne al
push eax
call dword [edx + 0xac]
jmp 0x1002d9c3
mov eax, dword [ecx + 0xb8]
test eax, eax
je 0x1002dbc7
mov edi, dword [eax + 0x20]
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1002d9c3
push dword [ebx + 0xc]
mov eax, dword [esi + 0x3d8]
push dword [ebx + 8]
push 0x100
mov eax, dword [eax + 0xb8]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1002d9c3
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x188]
jmp 0x1002dcb6
mov ecx, dword [esi + 0x3d8]
cmp dword [ecx + 0x54], edi
je 0x1002dc6c
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
call dword [eax + 0x24]
mov dword [ebp - 4], 3
call fcn.1000827c
mov ecx, dword [eax + 4]
call fcn.100053a1
mov ecx, dword [esi + 0x3d8]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov byte [ebp - 4], 4
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [esi + 0x3d8]
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ecx]
call dword [eax + 0x24]
push dword [eax]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.1000ae64
mov byte [ebp - 4], 4
jmp 0x1002da70
test edx, edx
je 0x1002dc9e
mov eax, dword [ecx + 0xb8]
test eax, eax
je 0x1002dc7d
mov edi, dword [eax + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x48]
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1002dc9e
mov ecx, dword [esi + 0x3d8]
mov ecx, dword [ecx + 0xb8]
call fcn.10015f7b
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x188]
test eax, eax
jne 0x1002dcb6
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
mov ecx, esi
call fcn.10015f7b
jmp 0x1002d9c3
cmp dword [ebx + 4], 0x200
jb 0x1002df88
cmp dword [ebx + 4], 0x20e
ja 0x1002df88
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], edi
push eax
mov dword [ebp - 0x38], edi
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x3c]
push eax
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esi + 0x3d8]
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x1002dda0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], edi
push ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esi + 0x3d8]
lea ecx, [ebp - 0x20]
push 2
push ecx
push dword [esi + 0x20]
mov eax, dword [eax + 0xc0]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_MapWindowPoints]
push dword [ebp - 0x38]
lea eax, [ebp - 0x20]
push dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x1002dda0
mov eax, dword [esi + 0x3d8]
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x1002dd6b
mov edi, dword [eax + 0x20]
push 1
lea eax, [ebp - 0x3c]
push eax
push edi
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_MapWindowPoints]
movzx ecx, word [ebp - 0x38]
movzx eax, word [ebp - 0x3c]
shl ecx, 0x10
or ecx, eax
mov eax, dword [esi + 0x3d8]
push ecx
push dword [ebx + 8]
push dword [ebx + 4]
mov eax, dword [eax + 0xc0]
jmp 0x1002dbed
mov eax, dword [esi + 0x3d8]
mov ecx, dword [eax + 0xb8]
mov dword [ebp - 0x14], ecx
cmp dword [eax + 0x68], edi
jne 0x1002ddc0
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_HideCaret]
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], edi
push eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
push 2
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x14]
push dword [esi + 0x20]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_MapWindowPoints]
push dword [ebp - 0x38]
lea eax, [ebp - 0x30]
push dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x1002de24
cmp dword [ebx + 4], 0x203
jne 0x1002de24
mov ecx, dword [esi + 0x3d8]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
mov eax, dword [ecx]
call dword [eax + 0x44]
test eax, eax
jne 0x1002d9c3
push dword [ebp - 0x38]
lea eax, [ebp - 0x30]
push dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x1002de50
cmp dword [ebx + 4], 0x204
jne 0x1002de50
mov eax, dword [esi + 0x3d8]
cmp dword [eax + 0x68], edi
je 0x1002d9c3
push dword [ebp - 0x38]
mov edi, dword [sym.imp.USER32.dll_PtInRect]
lea eax, [ebp - 0x30]
push dword [ebp - 0x3c]
push eax
call edi
test eax, eax
jne 0x1002df57
mov eax, dword [ebx + 4]
cmp eax, 0x201
je 0x1002de8d
cmp eax, 0xa1
je 0x1002de8d
cmp eax, 0x204
je 0x1002de8d
cmp eax, 0x207
jne 0x1002df57
push dword [ebp - 0x38]
mov eax, dword [esi + 0x3d8]
push dword [ebp - 0x3c]
add eax, 0x40
push eax
call edi
test eax, eax
je 0x1002df33
mov ecx, dword [esi + 0x3d8]
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ecx]
call dword [eax + 0x24]
mov dword [ebp - 4], 6
call fcn.1000827c
mov ecx, dword [eax + 4]
call fcn.100053a1
push dword [ebp - 0x38]
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x3c]
mov byte [ebp - 4], 7
call dword [eax + 0x184]
mov ecx, dword [esi + 0x3d8]
lea edx, [ebp - 0x44]
push edx
mov eax, dword [ecx]
call dword [eax + 0x24]
push dword [eax]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.1000ae64
mov ecx, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 7
setne bl
lea ecx, [ecx - 0x10]
call fcn.100028d0
test bl, bl
je 0x1002df23
mov eax, dword [esi]
mov ecx, esi
push dword [esi + 0x3d8]
call dword [eax + 0x174]
lea ecx, [ebp - 0x31]
call fcn.1000f894
mov ecx, dword [ebp - 0x40]
jmp 0x1002da9f
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x188]
test eax, eax
je 0x1002d9c3
push ebx
mov ecx, esi
call fcn.100136b2
call fcn.10123781
ret 4
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x3c]
push 1
push eax
push dword [edi + 0x20]
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_MapWindowPoints]
movzx ecx, word [ebp - 0x38]
movzx eax, word [ebp - 0x3c]
shl ecx, 0x10
or ecx, eax
push ecx
push dword [ebx + 8]
push dword [ebx + 4]
push dword [edi + 0x20]
jmp 0x1002dbf0
xor eax, eax
jmp 0x1002df4f