Function at 0x50534c
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, ecx
push edi
push esi
call fcn.0049a0c8
push eax
push 0x5d64d8
call fcn.0048d0e0
mov ebx, dword [ebp + 8]
xor edi, edi
add esp, 0xc
cmp ebx, edi
je 0x505390
mov eax, dword [ebx]
push esi
mov ecx, ebx
call dword [eax + 0x15c]
test eax, eax
jne 0x505390
cmp ebx, esi
je 0x505390
xor eax, eax
jmp 0x5055be
mov ebx, dword [ebp + 0x10]
cmp ebx, 4
jne 0x50539d
cmp dword [ebp + 0xc], edi
je 0x505389
mov byte [esi + 0x294], 0
cmp ebx, 2
je 0x50547f
cmp ebx, 3
je 0x50547f
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
cmp ebx, 1
je 0x5053c6
cmp ebx, 5
jne 0x5053d0
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 4], edi
cmp dword [ebp + 8], edi
jne 0x505423
mov dword [ebp + 8], edi
cmp ebx, 1
je 0x5053e5
cmp ebx, 5
jne 0x505389
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x10]
mov ecx, esi
push dword [ebp - 0x14]
call fcn.0050f678
test eax, eax
je 0x505389
push dword [ebp + 8]
mov eax, dword [esi]
push 0xffffffffffffffff
push edi
push 1
push edi
push dword [ebp - 4]
mov ecx, esi
call dword [eax + 0x1d8]
jmp 0x5055be
cmp ebx, 1
je 0x50543c
cmp ebx, 5
je 0x50543c
cmp dword [ebp + 0xc], edi
je 0x505389
push dword [ebp + 0xc]
push edi
jmp 0x50546d
push edi
push 0xf000
lea eax, [ebp - 4]
push eax
push edi
push edi
push dword [0x626b0c]
mov ecx, 0x628284
push dword [ebp + 8]
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0051c249
test eax, eax
je 0x505389
push edi
push dword [ebp - 4]
push dword [ebp + 8]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x330]
jmp 0x5055be
lea ebx, [esi + 0x1b4]
push 1
mov ecx, ebx
call fcn.0053718b
push edi
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.0047d8de
push dword [ebp + 0x10]
mov edi, dword [esi]
push esi
call fcn.0049a0c8
pop ecx
push eax
mov ecx, esi
call dword [edi + 0x2e4]
push dword [esi + 0x1c8]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b8]
mov ecx, ebx
call fcn.00537206
mov edi, eax
test edi, edi
je 0x5054d5
push dword [edi + 0x20]
mov ecx, esi
call fcn.005045e3
cmp dword [ebp + 8], 0
je 0x505535
push 1
mov ecx, ebx
call fcn.005371d4
test eax, eax
mov eax, dword [ebp + 8]
je 0x5054f0
mov eax, dword [eax + 4]
jmp 0x5054f3
mov eax, dword [eax + 8]
test eax, eax
je 0x505535
mov edx, dword [esi]
push 0
push 1
push 2
push eax
mov ecx, esi
call dword [edx + 0x328]
mov edi, eax
neg edi
sbb edi, edi
neg edi
je 0x505522
mov eax, dword [esi]
push 1
push 0
push 1
mov ecx, esi
call dword [eax + 0x1fc]
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x240]
mov eax, edi
jmp 0x5055be
mov ecx, esi
test edi, edi
je 0x505591
mov eax, dword [esi]
push 1
call dword [eax + 0x1c8]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x364]
push 0
push edi
push esi
mov ecx, esi
call fcn.0050f89b
push 5
mov ecx, esi
call fcn.0047d8de
mov eax, dword [edi]
push esi
mov ecx, edi
call dword [eax + 0x24c]
cmp eax, esi
jne 0x505578
xor edi, edi
inc edi
jmp 0x505522
test eax, eax
je 0x505389
mov edx, dword [eax]
push 0
mov ecx, eax
call dword [edx + 0x240]
jmp 0x505389
push 5
call fcn.0047d8de
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x5055a5
lea eax, [esi + 0x1e8]
mov edx, dword [esi]
push 0
push 0xffffffffffffffff
push 0
push 1
push eax
push dword [esi + 0x1c8]
mov ecx, esi
call dword [edx + 0x1d8]
pop edi
pop esi
pop ebx
leave
ret 0xc