Function at 0x41d810
Capabilities:
Check for unmoving mouse cursor

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov ecx, dword [esi + 4]
lea eax, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esi + 0x3dc]
test eax, eax
mov eax, dword [esp + 0x2c]
je 0x41d97a
mov ecx, dword [esi + 0x3d8]
test ecx, ecx
je 0x41d9ed
cmp eax, 1
jne 0x41d97a
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [esi + 0x3e0]
cmp edx, 7
ja case.default.0x41d867
jmp dword [edx*4 + 0x41dae8]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
jmp case.default.0x41d867
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
jmp case.default.0x41d867
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov eax, dword [esi + 0x65c]
test eax, eax
jle 0x41d90e
mov ecx, dword [esi + 0x660]
test ecx, ecx
jle 0x41d90e
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov ebp, edi
sub ebp, ebx
cmp ebp, eax
jg 0x41d8e2
test edx, edx
je 0x41d8d4
cmp edx, 2
je 0x41d8d4
cmp edx, 4
jne 0x41d8dc
sub edi, eax
mov ebx, edi
mov dword [esp + 0x18], ebx
add eax, ebx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov ebx, eax
sub ebx, edi
cmp ebx, ecx
jg 0x41d90e
test edx, edx
je 0x41d900
cmp edx, 1
je 0x41d900
cmp edx, 5
jne 0x41d908
sub eax, ecx
mov edi, eax
mov dword [esp + 0x1c], edi
add ecx, edi
mov dword [esp + 0x24], ecx
lea edi, [esi + 0x6d4]
push edi
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x41dadc
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [edi], edx
mov edx, dword [esp + 0x24]
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
push 2
mov ecx, esi
mov dword [edi + 0xc], edx
call fcn.0041c240
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0xc
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
jmp case.0x41d867.7
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp case.default.0x41d867
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
jmp case.default.0x41d867
mov ecx, dword [esi + 0x3d8]
test ecx, ecx
je 0x41d9ed
cmp eax, 1
jne 0x41d9ed
mov eax, dword [esi + 0x3f4]
test eax, eax
jne 0x41d9ed
mov ecx, dword [esi + 4]
lea eax, [esp + 0x30]
push eax
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [esi + 0x2b8]
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
mov edi, dword [esi + 0x2b4]
sub ecx, edx
mov edx, ecx
sub edx, ebp
mov ebp, dword [esp + 0x18]
add edx, ebx
mov ebx, dword [esp + 0x20]
push edx
sub eax, edi
mov edx, eax
sub edx, ebp
add edx, ebx
push edx
push ecx
push eax
mov ecx, esi
call fcn.0041c9b0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0xc
mov eax, dword [esi + 0x678]
test eax, eax
je 0x41dadc
mov eax, dword [esi + 0x674]
test eax, eax
je 0x41dadc
mov eax, dword [esi + 0x670]
lea edi, [esi + 0x670]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41dadc
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esi + 4]
lea edx, [esp + 0x10]
push edx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [sym.imp.USER32.dll_PtInRect]
push ecx
push edx
lea eax, [esi + 0x6a4]
push eax
call ebx
test eax, eax
je 0x41da91
mov ecx, dword [edi]
push 0
push 1
push 0x401
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push ecx
mov eax, esp
mov dword [eax], 0x431800
mov edx, dword [esi + 4]
push edx
mov ecx, edi
call fcn.00403e40
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
lea edx, [esi + 0x6b4]
push edx
call ebx
test eax, eax
mov ecx, edi
je 0x41dad5
push 1
call fcn.00403a60
push 0
push 0
push ecx
mov eax, esp
mov dword [eax], 0x431808
mov eax, dword [esi + 4]
push eax
mov ecx, edi
call fcn.00403e40
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0xc
push 0
call fcn.00403a60
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 0xc