Function at 0x1018bb20
Capabilities:
Check for unmoving mouse cursor

Disassembly:
sub esp, 0x18
mov eax, dword [0x105be7d0]
xor eax, esp
mov dword [esp + 0x14], eax
push ebx
mov ebx, dword [esp + 0x20]
push ebp
push esi
push edi
mov eax, dword [ebx + 4]
mov esi, ecx
cmp eax, 0x200
ja 0x1018bcd9
je case.0x1018bb5d.160
sub eax, 0x7b
cmp eax, 0x98
ja case.0x1018bcf0.518
movzx eax, byte [eax + 0x1018c0e8]
jmp dword [eax*4 + 0x1018c0b8]
mov edi, dword [esi + 0xc]
test edi, edi
je case.0x1018bcf0.518
mov eax, dword [ebx]
lea ecx, [ecx]
cmp dword [edi + 0x14], eax
je 0x1018bb93
mov edi, dword [edi + 0x2c]
test edi, edi
jne 0x1018bb70
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
cmp dword [ebx + 8], 0x10
jne 0x1018bba5
cmp dword [edi + 0x44], 0x10
jne 0x1018bba5
push edi
call fcn.1018af80
cmp dword [ebx + 8], 0x11
jne 0x1018bbb9
cmp dword [edi + 0x48], 0x11
jne 0x1018bbb9
push edi
mov ecx, esi
call fcn.1018b1d0
push dword [ebx + 0xc]
mov ecx, edi
push dword [ebx + 8]
push 0x113
call fcn.10183410
mov ecx, edi
call fcn.101838c0
test al, al
sete al
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
cmp byte [esi + 0x1d], 0
jne case.0x1018bcf0.522
mov dword [esi + 0x18], 1
mov ecx, dword [ebx + 8]
lea eax, [ecx - 3]
cmp eax, 0x76
ja case.0x1018bc0f.4
movzx eax, byte [eax + 0x1018c18c]
jmp dword [eax*4 + 0x1018c184]
push ecx
mov ecx, esi
call fcn.1018af60
push eax
mov ecx, esi
call fcn.1018ac00
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
push dword [ebx + 8]
call fcn.1018af60
push eax
mov ecx, esi
call fcn.1018ade0
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
cmp dword [ebx + 8], 0x5d
je case.0x1018bcf0.522
push ebx
call dword [sym.imp.USER32.dll_TranslateMessage]
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
mov dword [esp + 0x20], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
xor eax, eax
cmp dword [ebx + 4], 0x200
jne 0x1018bcb5
mov eax, dword [ebx + 8]
push eax
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.1018a9b0
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
sub eax, 0x201
cmp eax, 0xa0
ja case.0x1018bcf0.518
movzx eax, byte [eax + 0x1018c224]
jmp dword [eax*4 + 0x1018c204]
lea eax, [esp + 0x18]
mov dword [esi + 0x18], 0
push eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.1018c740
cmp byte [esi + 0x1c], 0
jne 0x1018bd69
test eax, eax
jne 0x1018bda6
cmp byte [esi + 0x21], 0
jne case.0x1018bcf0.522
push 0
push 0
mov ecx, esi
call fcn.1018b360
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
test eax, eax
jne 0x1018bd98
cmp dword [esp + 0x10], eax
jne 0x1018bda6
cmp byte [esi + 0x21], al
jne case.0x1018bcf0.522
push eax
push eax
mov ecx, esi
call fcn.1018b360
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
push ecx
push dword [esp + 0x14]
push ecx
push eax
mov ecx, esi
call fcn.1018a810
push dword [ebx + 4]
call fcn.1018a790
mov ecx, dword [esp + 0x24]
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1033d458
add esp, 0x18
ret 4
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
mov dword [esp + 0x20], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.1018c740
test eax, eax
jne case.0x1018bcf0.522
jmp 0x1018bd41
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
mov dword [esp + 0x20], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.1018c740
mov edi, eax
test edi, edi
je 0x1018bd41
mov eax, dword [edi]
mov ecx, edi
mov ebx, dword [esp + 0x10]
push 1
push ebx
mov eax, dword [eax + 0x6c]
call eax
test al, al
jne case.0x1018bcf0.522
push ebx
push edi
mov ecx, esi
call fcn.1018a930
jmp case.0x1018bcf0.522
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x1018be80
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x18]
mov dword [esi + 0x18], 0
push eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x18]
mov ecx, esi
mov dword [esi + 0x44], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x48], eax
lea eax, [esp + 0x10]
push 0
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], 0
push eax
call fcn.1018c740
mov ebp, dword [esp + 0x10]
mov edi, eax
test edi, edi
jne 0x1018bee0
test ebp, ebp
je 0x1018bd41
mov dword [esi + 0x30], edi
test edi, edi
je 0x1018bef2
push ecx
push ebp
push ecx
push edi
mov ecx, esi
call fcn.1018a810
push dword [ebx + 4]
call fcn.1018a790
xor esi, esi
test edi, edi
je case.0x1018bcf0.522
cmp ebp, 0xffffffff
je 0x1018bf13
push ebp
mov ecx, edi
call fcn.10183640
mov esi, eax
push esi
mov ecx, edi
call fcn.10187560
test esi, esi
je case.0x1018bcf0.522
lea eax, [esp + 0x18]
mov ecx, esi
push eax
call fcn.1018a0d0
jmp case.0x1018bcf0.522
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
mov dword [esp + 0x20], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.1018c740
cmp byte [esi + 0x1c], 0
mov edi, eax
jne 0x1018bfa3
test edi, edi
je 0x1018bf8c
push edi
push dword [esp + 0x14]
push 0x207b
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp byte [esi + 0x1d], 0
je case.0x1018bcf0.522
push dword [ebx + 4]
call fcn.1018a790
jmp case.0x1018bcf0.522
push dword [ebx + 4]
call fcn.1018a790
mov byte [esi + 0x1f], 0
test edi, edi
je 0x1018bfc0
push dword [esp + 0x10]
push ecx
push edi
mov ecx, esi
call fcn.1018a890
mov byte [esi + 0x1d], 0
jmp case.0x1018bcf0.522
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x1018bfd5
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
mov dword [esp + 0x20], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.1018c740
cmp byte [esi + 0x1d], 0
mov edi, eax
jne 0x1018c02c
test edi, edi
je case.0x1018bcf0.522
push 0
mov ecx, edi
call fcn.10187560
jmp case.0x1018bcf0.522
test edi, edi
jne 0x1018c03a
cmp byte [esi + 0x1f], 0
je 0x1018bd41
xor al, al
mov byte [esi + 0x1f], 0
xor ebx, ebx
mov byte [esp + 0x23], 0
mov byte [esp + 0x17], al
test edi, edi
je 0x1018c09a
mov ebp, dword [esp + 0x10]
cmp ebp, 0xffffffff
je 0x1018c062
push ebp
mov ecx, edi
call fcn.10183640
mov ebx, eax
push ebx
mov ecx, edi
call fcn.10187560
test ebx, ebx
je 0x1018c084
lea eax, [esp + 0x17]
mov ecx, ebx
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1018a1b0
mov al, byte [esp + 0x17]
test al, al
jne 0x1018c09a
push ebp
push ecx
push edi
mov ecx, esi
call fcn.1018a890
mov al, byte [esp + 0x17]
cmp byte [esp + 0x23], 0
mov byte [esi + 0x1d], 0
je case.0x1018bcf0.522
test al, al
je case.0x1018bcf0.522
jmp 0x1018bd41