Function at 0x442b80
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 0x442d7b
je 0x442c36
lea ecx, [eax - 2]
cmp ecx, 0x82
ja case.0x442bbf.3
movzx ecx, byte [ecx + 0x442f78]
jmp dword [ecx*4 + 0x442f64]
mov edx, dword [esi + 0x68]
push edx
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
mov dword [edi], 1
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, esi
call fcn.00442520
mov dword [edi], ebx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
push edx
push eax
mov eax, dword [esi + 0x68]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [edi], eax
cmp byte [esi + 0x1b8], bl
jne 0x442c2b
cmp eax, 1
jne 0x442c2b
mov dword [edi], 0xffffffff
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esi + 0x1b8], bl
je case.0x442bbf.3
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 0x442c72
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
sub eax, dword [esp + 0x18]
sub dword [esp + 0x14], ecx
jmp 0x442c7b
mov eax, 0xffff8001
mov dword [esp + 0x14], eax
cmp byte [esi + 0x1b9], bl
mov dword [esp + 0x10], eax
je 0x442cc4
cmp eax, ebx
jl 0x442d5d
mov edx, dword [esi]
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
cmp dword [esp + 0x10], eax
jg 0x442d5d
cmp dword [esp + 0x14], ebx
jl 0x442d5d
mov edx, dword [esi]
mov eax, dword [edx + 0x2c]
mov ecx, esi
call eax
cmp dword [esp + 0x14], eax
jg 0x442d5d
jmp 0x442f32
cmp eax, ebx
jl 0x442d44
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
cmp dword [esp + 0x10], eax
jg 0x442d44
cmp dword [esp + 0x14], ebx
jl 0x442d44
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
mov ecx, esi
call edx
cmp dword [esp + 0x14], eax
jg 0x442d44
mov eax, 1
test byte [ebp + 0x10], al
jne case.0x442bbf.3
cmp dword [esi + 0x1bc], eax
je 0x442d1b
push eax
mov dword [esi + 0x1bc], eax
mov eax, dword [esi + 0x2c]
push ebx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, esi
call fcn.00442520
add esi, 0xc
call dword [sym.imp.USER32.dll_GetCapture]
push eax
call fcn.004a137e
cmp eax, esi
je case.0x442bbf.3
mov ecx, esi
call fcn.0040d200
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call dword [sym.imp.USER32.dll_GetCapture]
push eax
call fcn.004a137e
lea ecx, [esi + 0xc]
cmp eax, ecx
jne 0x442d5d
call dword [sym.imp.USER32.dll_ReleaseCapture]
cmp dword [esi + 0x1bc], ebx
je case.0x442bbf.3
mov edx, dword [esi + 0x2c]
push 1
push ebx
push edx
mov dword [esi + 0x1bc], ebx
jmp 0x442f4c
sub eax, 0x201
je 0x442ec5
sub eax, 1
je 0x442db9
sub eax, 0x11ff
jne case.0x442bbf.3
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov bl, byte [eax + 4]
push ecx
mov ecx, esi
call fcn.00442700
neg al
sbb eax, eax
neg eax
mov dword [edi], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esi + 0x1b9], bl
je case.0x442bbf.3
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 0x442e84
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub dword [esp + 0x14], edx
cmp eax, ebx
mov dword [esp + 0x10], eax
jl 0x442e91
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
cmp dword [esp + 0x10], eax
jg 0x442e91
cmp dword [esp + 0x14], ebx
jl 0x442e91
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
mov ecx, esi
call edx
cmp dword [esp + 0x14], eax
jg 0x442e91
mov eax, dword [esi + 0x1c0]
mov edx, dword [eax + 0x30]
lea ebx, [esi + 0x1c0]
mov ecx, ebx
xor edi, edi
call edx
test eax, eax
jbe 0x442e67
mov eax, dword [esi + 0x1dc]
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
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 0x442e44
cmp dword [esi + 0x1bc], 0
je 0x442eb3
mov ecx, dword [esi + 0x2c]
push 1
push 0
mov dword [esi + 0x1bc], 0
push ecx
jmp 0x442ea6
mov eax, 0xffff8001
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
cmp dword [esi + 0x1bc], ebx
je 0x442eb3
mov edx, dword [esi + 0x2c]
push 1
push ebx
mov dword [esi + 0x1bc], ebx
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, esi
call fcn.00442520
mov byte [esi + 0x1b9], 0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esi + 0x1b8], bl
je case.0x442bbf.3
mov ecx, dword [esi + 0x2c]
lea eax, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je case.0x442bbf.3
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
sub dword [esp + 0x14], ecx
cmp eax, ebx
mov dword [esp + 0x10], eax
jl case.0x442bbf.3
mov edx, dword [esi]
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
cmp dword [esp + 0x10], eax
jg case.0x442bbf.3
cmp dword [esp + 0x14], ebx
jl case.0x442bbf.3
mov edx, dword [esi]
mov eax, dword [edx + 0x2c]
mov ecx, esi
call eax
cmp dword [esp + 0x14], eax
jg case.0x442bbf.3
mov byte [esi + 0x1b9], 1
mov eax, 2
cmp dword [esi + 0x1bc], eax
je case.0x442bbf.3
mov ecx, dword [esi + 0x2c]
push 1
push ebx
push ecx
mov dword [esi + 0x1bc], eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, esi
call fcn.00442520
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x10