Function at 0x4a3511
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push 0x60
mov eax, 0x6645f2
call fcn.00630ebf
mov ebx, ecx
mov esi, dword [ebp + 8]
xor edi, edi
inc edi
cmp esi, edi
jne 0x4a3712
lea esi, [ebx + 0x14]
push edi
mov ecx, esi
mov dword [ebp - 0x38], esi
call fcn.00474434
xor eax, eax
mov ecx, esi
push eax
push dword [ebx + 4]
mov dword [ebp - 0x34], eax
call fcn.00471211
push 0x330
call fcn.0063025f
pop ecx
mov ecx, eax
mov dword [ebp - 0x4c], ecx
xor eax, eax
mov dword [ebp - 4], eax
test ecx, ecx
je 0x4a3569
call fcn.00494d2c
or dword [ebp - 4], 0xffffffff
mov edx, eax
push edi
xor ecx, ecx
mov dword [ebx + 0x3a0], edx
push ecx
mov eax, dword [edx]
mov ecx, edx
push esi
call dword [eax + 0x44]
mov ecx, dword [ebx + 0x39c]
push str.VerticalLayout
mov eax, dword [ecx]
call dword [eax + 0x40]
mov ecx, eax
call fcn.00470c9b
test eax, eax
je 0x4a35a8
mov ecx, dword [ebx + 0x3a0]
push eax
call fcn.00475c14
push edi
push 2
push edi
push 2
lea ecx, [ebp - 0x20]
call fcn.0046d274
mov ecx, dword [ebx + 0x3a0]
sub esp, 0x10
mov esi, eax
mov edi, esp
mov edx, dword [ecx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [edx + 0x25c]
mov ecx, dword [ebx + 0x3a0]
push 0xffffffffffffffff
call fcn.0047931d
mov ecx, dword [ebx + 0x3a0]
push 0xffc6c7d2
call fcn.00479386
mov ecx, dword [ebx + 0x3a0]
xor esi, esi
inc esi
push esi
call fcn.004793d7
mov ecx, dword [ebx + 0x3a0]
xor edi, edi
push edi
mov eax, dword [ecx]
call dword [eax + 0x27c]
mov ecx, dword [ebx + 0x3a0]
push edi
push esi
mov eax, dword [ecx]
call dword [eax + 0x2d8]
mov ecx, dword [ebx + 0x39c]
lea eax, [ebp - 0x4c]
push eax
call fcn.004a3486
mov ecx, eax
mov dword [ebp - 4], esi
call fcn.0045f470
mov ecx, dword [ebx + 0x3a0]
push eax
call fcn.00475c14
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0046c4ca
mov ecx, dword [ebx + 0x39c]
add ecx, 0x2c8
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
jle 0x4a36aa
mov eax, dword [ebx + 0x3a0]
mov ecx, dword [ebx + 0x39c]
add ecx, 0x2c8
push edi
mov esi, dword [eax + 0x2c8]
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebx + 0x3a0]
push eax
add ecx, 0x2c8
call dword [esi + 0x10]
mov ecx, dword [ebx + 0x39c]
inc dword [ebp - 0x34]
add ecx, 0x2c8
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, dword [ebp - 0x34]
cmp edi, eax
jl 0x4a3662
mov ecx, dword [ebx + 0x39c]
mov eax, dword [ecx]
call dword [eax + 0x40]
mov ecx, eax
call fcn.004711d5
mov edi, dword [ebp - 0x38]
mov esi, eax
mov ecx, edi
call fcn.004711d5
push eax
mov ecx, esi
call fcn.00488d5f
mov ecx, dword [ebx + 0x39c]
call fcn.004a3c29
movzx eax, al
mov ecx, edi
push eax
call fcn.004711d5
mov ecx, eax
call fcn.00489c0e
push dword [ebx + 0x3a0]
mov ecx, edi
call fcn.00470a1d
lea eax, [ebx + 0x10]
mov ecx, edi
neg ebx
sbb ebx, ebx
and ebx, eax
push ebx
call fcn.004707ca
xor eax, eax
jmp 0x4a39ad
xor ecx, ecx
cmp esi, 0x10
jne 0x4a37e3
mov eax, dword [ebx + 0x39c]
mov esi, eax
push ecx
mov ecx, esi
mov edi, dword [eax]
call dword [edi + 0x48]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x40]
mov ecx, dword [ebx + 0x39c]
push eax
call dword [edi + 0x44]
xor eax, eax
lea edi, [ebp - 0x44]
stosd dword es:[edi], eax
xor ecx, ecx
mov esi, ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebx + 0x39c]
add ecx, 0x2c8
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
jle 0x4a37a9
mov ecx, dword [ebx + 0x39c]
add ecx, 0x2c8
push esi
mov eax, dword [ecx]
call dword [eax]
push 1
sub esp, 0x10
lea esi, [ebp - 0x44]
mov edi, esp
mov ecx, eax
mov edx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [edx + 0xc0]
mov ecx, dword [ebx + 0x39c]
mov esi, dword [ebp - 0x34]
add ecx, 0x2c8
inc esi
mov dword [ebp - 0x34], esi
mov eax, dword [ecx]
call dword [eax + 0xc]
cmp esi, eax
jl 0x4a3764
mov ecx, dword [ebx + 0x39c]
mov eax, dword [ecx]
call dword [eax + 0x1c0]
mov esi, dword [ebp + 8]
xor ecx, ecx
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], ecx
push eax
push dword [ebp + 0x10]
lea ecx, [ebx + 0x14]
push edi
push esi
call fcn.004715dc
test al, al
je 0x4a39a1
mov eax, dword [ebp - 0x48]
jmp 0x4a39ad
cmp esi, 0x201
jne 0x4a3827
lea eax, [ebp - 0x3c]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x3c], xmm0
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebx + 0x14]
call fcn.00471161
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x38]
mov ecx, ebx
push dword [ebp - 0x3c]
call fcn.004a3bd9
mov byte [ebx + 0x3a8], al
xor ecx, ecx
jmp 0x4a37bc
cmp esi, 0x202
jne 0x4a3888
lea eax, [ebp - 0x3c]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x3c], xmm0
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebx + 0x14]
call fcn.00471161
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp byte [ebx + 0x3a8], 0
je 0x4a387b
push dword [ebp - 0x38]
mov ecx, ebx
push dword [ebp - 0x3c]
call fcn.004a3bd9
test al, al
je 0x4a387b
xor eax, eax
mov ecx, ebx
push eax
push eax
push 8
call fcn.0047f2b1
xor ecx, ecx
mov byte [ebx + 0x3a8], cl
jmp 0x4a37bc
cmp esi, 0x100
jne 0x4a3909
mov eax, dword [ebp + 0xc]
cmp eax, 0xd
je 0x4a38f9
mov ecx, dword [ebx + 0x39c]
cmp eax, 0x1b
je 0x4a38d8
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 3
mov word [ebp - 0x1c], ax
push edx
mov eax, dword [ecx]
call dword [eax + 0x200]
mov ecx, dword [ebx + 0x39c]
add ecx, 0x318
mov eax, dword [ecx]
call dword [eax + 8]
push eax
mov ecx, ebx
call fcn.004a32fd
jmp 0x4a370b
add ecx, 0x318
push edi
push dword [ebx + 0x3a4]
mov eax, dword [ecx]
call dword [eax + 0xc]
push dword [ebx + 0x3a4]
mov ecx, ebx
call fcn.004a32fd
xor ecx, ecx
push ecx
push ecx
push 8
mov ecx, ebx
call fcn.0047f2b1
jmp 0x4a3823
cmp esi, 0x20a
jne 0x4a397a
xor eax, eax
mov dword [ebp - 0x6c], 0x15
mov dword [ebp - 0x68], eax
xorps xmm0, xmm0
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0xc]
shr eax, 0x10
shr eax, 0xf
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x10]
movlpd qword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x39c]
add ecx, 0x334
mov dword [ebp - 0x64], eax
call fcn.004a05e1
lea edx, [ebp - 0x6c]
push edx
test al, al
je 0x4a3967
mov ecx, dword [ebx + 0x39c]
jmp 0x4a38b2
mov ecx, dword [ebx + 0x3a0]
mov eax, dword [ecx]
call dword [eax + 0x200]
jmp 0x4a370b
cmp esi, 8
jne 0x4a37bc
mov edi, dword [ebp + 0xc]
cmp dword [ebx + 4], edi
je 0x4a37bf
push ecx
push ecx
push 0x10
mov ecx, ebx
call fcn.0047f2b1
xor ecx, ecx
jmp 0x4a37bf
push dword [ebp + 0x10]
mov ecx, ebx
push edi
push esi
call fcn.0047f295
call fcn.00630e7a
ret 0xc