Function at 0x1003df60
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov al, byte [0x10116ba8]
sub esp, 0x60
test al, al
push ebx
push ebp
push esi
push edi
mov ebp, ecx
je 0x1003df99
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov esi, dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [edi - 0xf]
cmp eax, 0x11
ja case.0x1003dfbb.20
xor ecx, ecx
mov cl, byte [eax + 0x1003e568]
jmp dword [ecx*4 + 0x1003e550]
mov eax, dword [0x10116ae0]
test eax, eax
je 0x1003dfe7
mov al, byte [0x10116b8c]
test al, al
jne 0x1003dfe7
mov ecx, dword [ebp + 0x10]
call fcn.1004ab70
test al, al
jne 0x1003dfe7
mov byte [0x10116ae4], 1
mov esi, dword [esp + 0x74]
lea edx, [esp + 0x30]
push edx
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
mov ecx, ebp
call fcn.1003dc00
lea eax, [esp + 0x30]
push eax
push esi
call dword [sym.imp.USER32.dll_EndPaint]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
push ecx
push edx
push edi
push esi
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10
mov eax, dword [0x10116ae0]
test eax, eax
je 0x1003e041
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x60
ret 0x10
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
push eax
push ecx
push edi
push edx
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x1003e0a6
mov eax, dword [ebp + 0x44]
test eax, eax
jne 0x1003e077
mov eax, 0x100f7364
mov ecx, dword [ebp + 0x54]
test ecx, ecx
jne 0x1003e083
mov ecx, 0x100f7364
push 0x50031
push eax
mov eax, dword [esp + 0x7c]
push ecx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
je 0x1003e0a6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov ecx, dword [ebp]
push 0
push 0
push 0x403
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov al, byte [0x10116ac8]
test al, al
jne case.0x1003dfbb.20
cmp dword [0x10116ae0], 3
jne 0x1003e0f2
push 0
call dword [sym.imp.USER32.dll_SetCursor]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x60
ret 0x10
mov al, byte [ebp + 0x3c]
test al, al
jne case.0x1003dfbb.20
lea edx, [esp + 0x10]
push edx
call esi
lea eax, [esp + 0x10]
push eax
push ebx
call dword [sym.imp.USER32.dll_ScreenToClient]
lea ecx, [esp + 0x20]
push ecx
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x10]
test eax, eax
jl case.0x1003dfbb.20
mov ecx, dword [esp + 0x14]
test ecx, ecx
jl case.0x1003dfbb.20
cmp eax, dword [esp + 0x28]
jge case.0x1003dfbb.20
cmp ecx, dword [esp + 0x2c]
jge case.0x1003dfbb.20
push 0
call dword [sym.imp.USER32.dll_SetCursor]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x60
ret 0x10
mov al, byte [0x10116b8c]
test al, al
je case.0x1003dfbb.20
mov eax, dword [esp + 0x7c]
test eax, eax
mov al, byte [0x10116ac8]
je 0x1003e203
test al, al
je case.0x1003dfbb.20
cmp dword [0x10116ae0], 3
jne 0x1003e196
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
mov byte [0x10116ba8], 1
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003e1c9
cmp dword [0x10116ae0], 3
jne 0x1003e1c1
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003e1c1
call fcn.10052eb0
and eax, 0xff
mov dword [ebp + 0x78], eax
mov ecx, dword [ebp + 0xc]
call fcn.10052e60
mov al, byte [0x10116b8c]
test al, al
je 0x1003e1e5
mov ecx, dword [ebp + 0x10]
call fcn.1004ab70
test al, al
jne 0x1003e1e5
mov byte [0x10116ae4], 1
mov ecx, dword [0x10116b00]
mov byte [0x10116ac8], 0
test ecx, ecx
mov byte [0x10116ba8], 0
je case.0x1003dfbb.20
mov edx, dword [ecx]
call dword [edx]
jmp case.0x1003dfbb.20
test al, al
jne case.0x1003dfbb.20
mov byte [0x10116ba8], 1
mov ecx, dword [ebp + 0x10]
call fcn.1004ab60
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003e23a
cmp dword [0x10116ae0], 3
jne 0x1003e232
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003e232
call fcn.10052f70
mov ecx, dword [ebp + 0xc]
call fcn.10052e60
mov eax, dword [0x10116ae0]
mov byte [0x10116ac8], 1
cmp eax, 3
mov byte [0x10116ba8], 0
jne 0x1003e25a
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov ecx, dword [0x10116b00]
test ecx, ecx
je case.0x1003dfbb.20
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003e52f
mov al, byte [0x10116ac8]
test al, al
jne 0x1003e52f
mov edx, dword [0x10116ae0]
cmp edx, 3
jne 0x1003e2bf
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003e2bf
call fcn.10052eb0
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
push ecx
push edx
and eax, 0xff
push edi
push ebx
mov dword [ebp + 0x78], eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10
cmp edi, 0x202
ja 0x1003e48a
je 0x1003e486
cmp edi, 0x105
ja 0x1003e366
je 0x1003e333
mov eax, edi
sub eax, 0x100
je 0x1003e2f4
dec eax
je 0x1003e333
sub eax, 3
jne case.0x1003e495.518
mov edx, dword [esp + 0x80]
test edx, 0x40000000
jne 0x1003e504
mov eax, edx
and edx, 0x7f0000
sar eax, 1
and eax, 0x800000
or eax, edx
sar eax, 0x10
je 0x1003e504
push eax
call fcn.10052da0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov edx, dword [esp + 0x80]
mov eax, edx
and edx, 0x7f0000
sar eax, 1
and eax, 0x800000
or eax, edx
sar eax, 0x10
je 0x1003e504
push eax
call fcn.10052dc0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov eax, edi
sub eax, 0x200
je 0x1003e390
dec eax
jne case.0x1003e495.518
push 1
call fcn.10052de0
push ebx
call dword [sym.imp.USER32.dll_SetCapture]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1003e504
cmp edx, 3
jne 0x1003e3cc
mov eax, dword [ebp + 0x78]
test eax, eax
jne 0x1003e3cc
lea eax, [esp + 0x10]
push eax
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
call fcn.10052e20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov esi, dword [esp + 0x80]
movsx edi, si
sar esi, 0x10
cmp edx, 1
jne 0x1003e41e
lea eax, [esp + 0x10]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp + 0x10]
call fcn.1004b230
imul eax, edi
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
cdq
sub ecx, edi
idiv ecx
mov ecx, dword [ebp + 0x10]
mov edi, eax
call fcn.1004b240
imul eax, esi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
sub ecx, edx
cdq
idiv ecx
mov esi, eax
test edi, edi
jge 0x1003e426
xor edi, edi
jmp 0x1003e43d
mov ecx, dword [ebp + 0x10]
call fcn.1004b230
cmp edi, eax
jl 0x1003e43d
mov ecx, dword [ebp + 0x10]
call fcn.1004b230
mov edi, eax
dec edi
test esi, esi
jge 0x1003e459
mov ecx, dword [ebp + 0xc]
xor esi, esi
push esi
push edi
call fcn.10052e20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov ecx, dword [ebp + 0x10]
call fcn.1004b240
cmp esi, eax
jl 0x1003e470
mov ecx, dword [ebp + 0x10]
call fcn.1004b240
mov esi, eax
dec esi
mov ecx, dword [ebp + 0xc]
push esi
push edi
call fcn.10052e20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
push 1
jmp 0x1003e4d6
lea eax, [edi - 0x204]
cmp eax, 6
ja case.0x1003e495.518
jmp dword [eax*4 + 0x1003e57c]
push 2
call fcn.10052de0
push ebx
call dword [sym.imp.USER32.dll_SetCapture]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
push 2
jmp 0x1003e4d6
push 3
call fcn.10052de0
push ebx
call dword [sym.imp.USER32.dll_SetCapture]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
push 3
call fcn.10052e00
test byte [esp + 0x7c], 0x13
jne 0x1003e504
call dword [sym.imp.USER32.dll_ReleaseCapture]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov eax, dword [esp + 0x7c]
shr eax, 0x10
movsx edx, ax
push edx
call fcn.10052e40
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push eax
push ecx
push edi
push ebx
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
push edx
push eax
push edi
push ebx
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10