Function at 0x44e070
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 0xc]
sub esp, 0x3c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
cmp eax, 0x200
mov esi, ecx
mov dword [ebx], edi
ja 0x44e4ed
je 0x44e1b6
cmp eax, 0x87
ja 0x44e141
je 0x44e11a
sub eax, 2
je 0x44e102
sub eax, 0xd
je 0x44e0ca
sub eax, 5
jne 0x44e1ab
mov dword [ebx], 1
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esi + 0x298], edi
jne 0x44e0ee
push 0x525410
lea eax, [esi + 0xbc]
push eax
call fcn.0044ead0
add esp, 8
test al, al
je 0x44e1ab
mov ecx, esi
call fcn.0044d9e0
mov dword [ebx], edi
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esi + 0x68]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [esi + 0x68], edi
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 0x68]
push edx
push eax
push 0x87
push ecx
call dword [sym.imp.USER32.dll_DefWindowProcW]
or eax, 4
mov dword [ebx], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
sub eax, 0x100
je 0x44e166
sub eax, 0x28
jne 0x44e1ab
cmp dword [esi + 0x298], edi
jne 0x44e0ee
push 0x525410
lea edx, [esi + 0xbc]
push edx
jmp 0x44e0de
mov esi, dword [esi + 0x64]
cmp esi, edi
je 0x44e0f7
push edi
push 0x54dec0
push 0x54de84
push edi
push esi
call fcn.004b967b
add esp, 0x14
cmp eax, edi
jne 0x44e18a
xor eax, eax
jmp 0x44e18d
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
push edx
push 0x100
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, edi
mov dword [ebx], eax
je 0x44e0f7
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esi + 0x2c]
lea eax, [esp + 0x38]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x44e1f2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sub eax, dword [esp + 0x38]
mov ebx, ecx
sub ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jmp 0x44e207
mov eax, 0xffff8001
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x20]
cmp byte [esi + 0x290], 0
je 0x44e3d5
test eax, eax
jl 0x44e252
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
cmp dword [esp + 0x20], eax
jg 0x44e252
cmp dword [esp + 0x24], 0
jl 0x44e252
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
mov ecx, esi
call edx
cmp dword [esp + 0x24], eax
jg 0x44e252
mov eax, 2
cmp dword [esi + 0x294], eax
je 0x44e27a
mov dword [esi + 0x294], eax
jmp 0x44e27a
cmp dword [esi + 0x294], 0
je 0x44e27a
mov eax, dword [esi + 0x2c]
push 1
push 0
push eax
mov dword [esi + 0x294], 0
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, esi
call fcn.0044d9e0
mov eax, dword [esi + 0x288]
cmp edi, eax
mov ecx, dword [esi + 0x28c]
jne 0x44e292
cmp ebx, ecx
je 0x44e1ab
lea ecx, [esi + 0xbc]
push 0x525410
push ecx
call fcn.0044ead0
add esp, 8
test al, al
je 0x44e3be
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x44e3be
mov edx, dword [ecx]
mov eax, dword [edx + 0x178]
call eax
test al, al
je 0x44e3be
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov dword [esp + 0x14], eax
mov eax, dword [edx + 8]
call eax
sub edi, dword [esi + 0x288]
mov ecx, dword [esi + 0x60]
add edi, eax
add edi, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edi
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
sub ebx, dword [esi + 0x28c]
mov ecx, dword [esi + 0x60]
push 0
push 0x54dec0
add ebx, eax
add ebx, dword [esp + 0x1c]
push 0x54dea4
push 0
push ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebx
call fcn.004b967b
add esp, 0x14
test eax, eax
je 0x44e344
mov eax, dword [eax + 0x20]
lea edx, [esp + 0x28]
push edx
push 8
push 0x214
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esi + 0x60]
mov edi, dword [ecx]
sub edx, eax
push edx
mov edx, dword [esp + 0x2c]
sub ebx, edx
push ebx
push eax
mov eax, dword [edi + 0x4c]
push edx
call eax
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [esi + 0x28c]
sub ecx, dword [esp + 0x14]
mov edi, eax
add edi, ecx
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [esi + 0x288]
sub ecx, dword [esp + 0x18]
mov dword [esi + 0x28c], edi
add eax, ecx
mov dword [esi + 0x288], eax
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [esi + 0x288], edi
mov dword [esi + 0x28c], ebx
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test eax, eax
jl 0x44e481
mov edx, dword [esi]
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
cmp dword [esp + 0x20], eax
jg 0x44e481
cmp dword [esp + 0x24], 0
jl 0x44e481
mov edx, dword [esi]
mov eax, dword [edx + 0x2c]
mov ecx, esi
call eax
cmp dword [esp + 0x24], eax
jg 0x44e481
test byte [ebp + 0x10], 1
jne 0x44e1ab
mov eax, 1
cmp dword [esi + 0x294], eax
je 0x44e427
mov dword [esi + 0x294], eax
lea edi, [esi + 0xc]
call dword [sym.imp.USER32.dll_GetCapture]
push eax
call fcn.004a137e
cmp eax, edi
je 0x44e1ab
push 0x525410
add esi, 0xbc
push esi
call fcn.0044ead0
add esp, 8
test al, al
je 0x44e46f
call fcn.004a77b8
push 0x7f82
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, edi
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 0x44e4cb
lea edx, [esi + 0xbc]
push 0x525410
push edx
call fcn.0044ead0
add esp, 8
test al, al
je 0x44e4c5
call fcn.004a77b8
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
call dword [sym.imp.USER32.dll_ReleaseCapture]
cmp dword [esi + 0x294], 0
je 0x44e1ab
mov dword [esi + 0x294], 0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x401
ja 0x44e82d
je 0x44e81a
sub eax, 0x201
je 0x44e773
sub eax, 1
je 0x44e573
sub eax, 8
jne 0x44e1ab
mov edi, dword [ebp + 0x14]
mov ecx, edi
shr ecx, 0x10
movzx edx, di
mov dword [ebx], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
push ecx
push edx
mov ecx, esi
call eax
test al, al
jne 0x44e562
mov ecx, dword [esi + 0x60]
push 0
push 0x54dec0
push 0x54dea4
push 0
push ecx
call fcn.004b967b
mov edx, dword [ebp + 0x10]
add esp, 0x14
push edi
push edx
push 0x20a
mov ecx, eax
call fcn.0040c6f0
mov dword [ebx], 0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esi + 0x290], 0
je 0x44e1ab
mov ecx, dword [esi + 0x2c]
lea eax, [esp + 0x38]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x44e6b7
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ebx, eax
sub eax, dword [esp + 0x38]
mov edi, ecx
sub ecx, dword [esp + 0x3c]
test eax, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jl 0x44e5e9
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
cmp dword [esp + 0x20], eax
jg 0x44e5e9
cmp dword [esp + 0x24], 0
jl 0x44e5e9
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
mov ecx, esi
call edx
cmp dword [esi + 0x294], 0
je 0x44e5fc
mov dword [esi + 0x294], 0
mov eax, dword [esi + 0x28c]
mov ecx, dword [esi + 0x288]
push eax
push ecx
lea eax, [esp + 0x20]
call fcn.0042fe10
test eax, eax
je 0x44e761
lea edx, [esi + 0xbc]
push 0x525410
push edx
call fcn.0044ead0
add esp, 8
test al, al
je 0x44e755
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x44e755
mov eax, dword [ecx]
mov edx, dword [eax + 0x24]
call edx
mov ecx, dword [esi + 0x60]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
call edx
mov ecx, dword [esi + 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
sub ebx, dword [esi + 0x288]
mov ecx, dword [esi + 0x60]
add ebx, eax
add ebx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ebx
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
sub edi, dword [esi + 0x28c]
push 0
push 0x54dec0
add edi, eax
add edi, dword [esp + 0x20]
push 0x54dea4
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x60]
push 0
push eax
mov dword [esp + 0x48], edi
call fcn.004b967b
add esp, 0x14
test eax, eax
jne 0x44e6d1
jmp 0x44e6d4
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov eax, 0xffff8001
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
jmp 0x44e5e9
mov eax, dword [eax + 0x20]
lea ecx, [esp + 0x28]
push ecx
push 8
push 0x214
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esi + 0x60]
mov edi, dword [ecx]
sub edx, eax
push edx
mov edx, dword [esp + 0x2c]
sub ebx, edx
push ebx
push eax
mov eax, dword [edi + 0x4c]
push edx
call eax
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [esi + 0x28c]
sub ecx, dword [esp + 0x18]
mov edi, eax
add edi, ecx
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [esi + 0x288]
sub ecx, dword [esp + 0x14]
mov dword [esi + 0x28c], edi
add eax, ecx
mov dword [esi + 0x288], eax
mov byte [esi + 0x290], 0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [esi + 0x288], ebx
mov dword [esi + 0x28c], edi
mov byte [esi + 0x290], 0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 0x2c]
lea edx, [esp + 0x38]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x44e1ab
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x288], eax
sub eax, dword [esp + 0x38]
mov dword [esi + 0x28c], ecx
sub ecx, dword [esp + 0x3c]
cmp eax, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jl 0x44e1ab
mov edx, dword [esi]
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
cmp dword [esp + 0x20], eax
jg 0x44e1ab
cmp dword [esp + 0x24], edi
jl 0x44e1ab
mov edx, dword [esi]
mov eax, dword [edx + 0x2c]
mov ecx, esi
call eax
cmp dword [esp + 0x24], eax
jg 0x44e1ab
mov eax, 2
cmp dword [esi + 0x294], eax
mov byte [esi + 0x290], 1
je 0x44e1ab
mov dword [esi + 0x294], eax
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esi + 0xc]
call fcn.004a44b8
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x8003
je 0x44e8f2
jbe 0x44e1ab
cmp eax, 0x8005
ja 0x44e1ab
mov cl, byte [esi + 0x2a0]
mov edx, dword [esi + 0x258]
mov eax, dword [edx + 0x30]
lea edi, [esi + 0x258]
mov byte [esp + 0x13], cl
mov ecx, edi
call eax
test eax, eax
jbe 0x44e8a3
mov edx, dword [edi]
mov eax, dword [edx + 0x30]
mov ecx, edi
xor ebx, ebx
call eax
test eax, eax
jbe 0x44e8a3
lea esp, [esp]
mov ecx, dword [esi + 0x274]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 0
push esi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0x30]
mov ecx, edi
add ebx, 1
call eax
cmp ebx, eax
jb 0x44e880
cmp byte [esi + 0x29e], 0
je 0x44e0f7
cmp byte [esi + 0x254], 0
je 0x44e0f7
cmp byte [esi + 0x29f], 0
jne 0x44e8cd
cmp byte [esp + 0x13], 0
jne 0x44e8db
cmp byte [esp + 0x13], 0
sete cl
mov byte [esi + 0x2a0], cl
mov edx, dword [esi]
mov eax, dword [edx + 0xdc]
mov ecx, esi
call eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esi + 0x298], edi
jne 0x44e1ab
lea ecx, [esi + 0xbc]
push 0x525410
push ecx
call fcn.0044ead0
add esp, 8
test al, al
jne 0x44e1ab
cmp dword [esi + 0x250], edi
jne 0x44e943
push 8
call fcn.0049c081
add esp, 4
cmp eax, edi
je 0x44e93b
mov dword [eax + 4], edi
mov dword [eax], vtable.CBrush.0
jmp 0x44e93d
xor eax, eax
mov dword [esi + 0x250], eax
mov ecx, dword [esi + 0x250]
call fcn.004a6a4e
cmp byte [esi + 0xb4], 0
je 0x44e98f
mov eax, dword [esi + 0x64]
cmp eax, edi
je 0x44e974
call fcn.00430d10
mov edx, dword [esi + 0x250]
push edx
mov edi, eax
call fcn.0044eb50
push edi
jmp 0x44e9a8
mov ecx, dword [esi + 0x250]
push 5
call fcn.0044eb30
mov edi, dword [ebp + 0x10]
push 1
push edi
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x44e9b2
mov eax, dword [esi + 0x250]
push eax
mov eax, dword [esi + 0xb0]
call fcn.0044eb50
mov ecx, dword [esi + 0xb0]
push ecx
mov edi, dword [ebp + 0x10]
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edx, dword [esi + 0xc4]
mov eax, dword [edx + 0x38]
lea ecx, [esi + 0xc4]
call eax
push eax
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov esi, dword [esi + 0x250]
test esi, esi
jne 0x44e9e2
mov dword [ebx], esi
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esi + 4]
pop edi
mov dword [ebx], esi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10