Function at 0x49af30
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 0xc]
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
cmp eax, 0x200
mov esi, ecx
mov dword [edi], ebx
ja 0x49b105
je 0x49b077
cmp eax, 0x14
ja 0x49afa8
je 0x49b066
sub eax, 2
je 0x49af90
sub eax, 0xd
jne 0x49b288
cmp dword [esi + 0x114], ebx
je 0x49b288
call fcn.0049a8f0
mov dword [edi], ebx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 0x68]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [esi + 0x68], ebx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x114
jne 0x49b288
cmp dword [esi + 0x124], ebx
jne 0x49b066
cmp dword [esi + 0x114], ebx
jne 0x49b066
lea eax, [esi + 0xc]
call fcn.0049b500
mov ecx, dword [esi + 0xd4]
cmp eax, ecx
jl 0x49afdf
mov eax, ecx
mov ecx, dword [esi + 0xd0]
cmp eax, ecx
jg 0x49afeb
mov eax, ecx
cmp byte [esi + 0x120], bl
je 0x49b002
mov ecx, dword [esi + 0x128]
add ecx, 0xffffffff
cmp eax, ecx
jl 0x49b002
mov eax, ecx
cmp dword [esi + 0xd8], eax
je 0x49b066
mov edx, dword [esi + 0xe0]
lea ebx, [esi + 0xe0]
mov dword [esi + 0xd8], eax
mov eax, dword [edx + 0x30]
mov ecx, ebx
call eax
test eax, eax
jbe 0x49b066
mov edx, dword [ebx]
mov eax, dword [edx + 0x30]
mov ecx, ebx
xor edi, edi
call eax
test eax, eax
jbe 0x49b063
jmp 0x49b040
mov ecx, dword [esi + 0xfc]
mov ecx, dword [ecx + edi*4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 0
push esi
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x30]
mov ecx, ebx
add edi, 1
call eax
cmp edi, eax
jb 0x49b040
mov edi, dword [ebp + 8]
mov dword [edi], 1
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esi + 0x110], bl
je 0x49b0fa
mov edx, dword [esi + 0x2c]
lea ecx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x49b0ad
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub dword [esp + 0x10], ecx
sub dword [esp + 0x14], edx
lea eax, [esp + 0x10]
mov ecx, esi
call fcn.0049ab10
test al, al
je 0x49b0fa
cmp dword [esi + 0x124], ebx
mov byte [esi + 0x111], 1
jne 0x49b0fa
lea ebx, [esi + 0xc]
mov ecx, ebx
call fcn.0049b4e0
test eax, eax
je 0x49b0fa
test ebx, ebx
je 0x49b0e0
mov ebx, dword [ebx + 0x20]
mov ecx, dword [esi + 0xd8]
shl ecx, 0x10
push ebx
or ecx, 5
push ecx
push 0x114
mov ecx, eax
call fcn.0049b4c0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x20a
ja 0x49b315
je 0x49b293
sub eax, 0x201
je 0x49b173
sub eax, 1
jne 0x49b288
mov eax, dword [esi + 0x2c]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x49b154
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x10], edx
sub dword [esp + 0x14], eax
cmp byte [esi + 0x110], bl
je 0x49b168
mov byte [esi + 0x110], bl
call dword [sym.imp.USER32.dll_ReleaseCapture]
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [esi + 0x2c]
lea ecx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x49b1a1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub dword [esp + 0x10], ecx
sub dword [esp + 0x14], edx
cmp byte [esi + 0x120], bl
je 0x49b225
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
mov ecx, dword [esi + 0xd4]
sub ecx, dword [esi + 0xd0]
sub eax, 0xa
imul eax, dword [esi + 0xd8]
cdq
idiv ecx
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jg 0x49b1e2
add eax, 0xa
cmp ecx, eax
jg 0x49b1e2
mov dword [esi + 0x124], ebx
jmp 0x49b225
mov edx, dword [esi]
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
mov ecx, dword [esi + 0xd4]
sub ecx, dword [esi + 0xd0]
sub eax, 0xa
imul eax, dword [esi + 0x128]
cdq
idiv ecx
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jg 0x49b3a2
add eax, 0xa
cmp ecx, eax
jg 0x49b3a2
mov dword [esi + 0x124], 1
lea ebx, [esi + 0xc]
mov ecx, ebx
call fcn.0040d200
mov ecx, ebx
call fcn.004a44b8
lea eax, [esp + 0x10]
mov ecx, esi
mov byte [esi + 0x110], 1
mov byte [esi + 0x111], 0
call fcn.0049ab10
test al, al
je 0x49b288
cmp dword [esi + 0x124], 0
jne 0x49b288
mov ecx, ebx
call fcn.0049b4e0
test eax, eax
je 0x49b288
test ebx, ebx
je 0x49b26e
mov ebx, dword [ebx + 0x20]
mov edx, dword [esi + 0xd8]
shl edx, 0x10
push ebx
or edx, 5
push edx
push 0x114
mov ecx, eax
call fcn.0049b4c0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebp + 0x14]
mov ecx, ebx
shr ecx, 0x10
movzx edx, bx
mov dword [edi], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
push ecx
push edx
mov ecx, esi
call eax
test al, al
je 0x49b2d6
mov ecx, dword [ebp + 0x10]
push ebx
push ecx
push 0x20a
lea ecx, [esi + 0xc]
call fcn.0049f7fd
mov dword [edi], 0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [esi + 0x60]
push 0
push 0x54dec0
push 0x54dea4
push 0
push edx
call fcn.004b967b
mov ecx, dword [ebp + 0x10]
mov edx, dword [eax + 0x20]
add esp, 0x14
push ebx
push ecx
push 0x20a
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi], 0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x8003
jne 0x49b288
lea ebx, [esi + 0xb8]
mov ecx, ebx
call fcn.004a6a4e
cmp byte [esi + 0xb4], 0
je 0x49b366
mov esi, dword [esi + 0x64]
test esi, esi
je 0x49b34f
mov eax, esi
call fcn.00430d10
push ebx
mov esi, eax
call fcn.0044eb50
push esi
jmp 0x49b382
push 5
mov ecx, ebx
call fcn.0044eb30
mov ecx, dword [ebp + 0x10]
push 1
push ecx
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x49b38c
mov eax, dword [esi + 0xb0]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
mov ecx, ebx
call fcn.004a69fb
mov edx, dword [esi + 0xb0]
push edx
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
test ebx, ebx
jne 0x49b39d
mov dword [edi], ebx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 4]
mov dword [edi], ebx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10