Function at 0x1003dd80
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov al, byte [0x10116bd8]
sub esp, 0x60
test al, al
push ebx
push ebp
push esi
push edi
mov ebp, ecx
je 0x1003ddb9
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.0x1003dddb.20
xor ecx, ecx
mov cl, byte [eax + 0x1003e388]
jmp dword [ecx*4 + 0x1003e370]
mov eax, dword [0x10116b10]
test eax, eax
je 0x1003de07
mov al, byte [0x10116bbc]
test al, al
jne 0x1003de07
mov ecx, dword [ebp + 0x10]
call fcn.1004a810
test al, al
jne 0x1003de07
mov byte [0x10116b14], 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.1003da20
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 [0x10116b10]
test eax, eax
je 0x1003de61
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 0x1003dec6
mov eax, dword [ebp + 0x44]
test eax, eax
jne 0x1003de97
mov eax, 0x100f7364
mov ecx, dword [ebp + 0x54]
test ecx, ecx
jne 0x1003dea3
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 0x1003dec6
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 [0x10116af8]
test al, al
jne case.0x1003dddb.20
cmp dword [0x10116b10], 3
jne 0x1003df12
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.0x1003dddb.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.0x1003dddb.20
mov ecx, dword [esp + 0x14]
test ecx, ecx
jl case.0x1003dddb.20
cmp eax, dword [esp + 0x28]
jge case.0x1003dddb.20
cmp ecx, dword [esp + 0x2c]
jge case.0x1003dddb.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 [0x10116bbc]
test al, al
je case.0x1003dddb.20
mov eax, dword [esp + 0x7c]
test eax, eax
mov al, byte [0x10116af8]
je 0x1003e023
test al, al
je case.0x1003dddb.20
cmp dword [0x10116b10], 3
jne 0x1003dfb6
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
mov byte [0x10116bd8], 1
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003dfe9
cmp dword [0x10116b10], 3
jne 0x1003dfe1
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003dfe1
call fcn.10052c90
and eax, 0xff
mov dword [ebp + 0x78], eax
mov ecx, dword [ebp + 0xc]
call fcn.10052c40
mov al, byte [0x10116bbc]
test al, al
je 0x1003e005
mov ecx, dword [ebp + 0x10]
call fcn.1004a810
test al, al
jne 0x1003e005
mov byte [0x10116b14], 1
mov ecx, dword [0x10116b30]
mov byte [0x10116af8], 0
test ecx, ecx
mov byte [0x10116bd8], 0
je case.0x1003dddb.20
mov edx, dword [ecx]
call dword [edx]
jmp case.0x1003dddb.20
test al, al
jne case.0x1003dddb.20
mov byte [0x10116bd8], 1
mov ecx, dword [ebp + 0x10]
call fcn.1004a800
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003e05a
cmp dword [0x10116b10], 3
jne 0x1003e052
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003e052
call fcn.10052d50
mov ecx, dword [ebp + 0xc]
call fcn.10052c40
mov eax, dword [0x10116b10]
mov byte [0x10116af8], 1
cmp eax, 3
mov byte [0x10116bd8], 0
jne 0x1003e07a
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov ecx, dword [0x10116b30]
test ecx, ecx
je case.0x1003dddb.20
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003e34f
mov al, byte [0x10116af8]
test al, al
jne 0x1003e34f
mov edx, dword [0x10116b10]
cmp edx, 3
jne 0x1003e0df
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003e0df
call fcn.10052c90
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 0x1003e2aa
je 0x1003e2a6
cmp edi, 0x105
ja 0x1003e186
je 0x1003e153
mov eax, edi
sub eax, 0x100
je 0x1003e114
dec eax
je 0x1003e153
sub eax, 3
jne case.0x1003e2b5.518
mov edx, dword [esp + 0x80]
test edx, 0x40000000
jne 0x1003e324
mov eax, edx
and edx, 0x7f0000
sar eax, 1
and eax, 0x800000
or eax, edx
sar eax, 0x10
je 0x1003e324
push eax
call fcn.10052b80
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 0x1003e324
push eax
call fcn.10052ba0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov eax, edi
sub eax, 0x200
je 0x1003e1b0
dec eax
jne case.0x1003e2b5.518
push 1
call fcn.10052bc0
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 0x1003e324
cmp edx, 3
jne 0x1003e1ec
mov eax, dword [ebp + 0x78]
test eax, eax
jne 0x1003e1ec
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.10052c00
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 0x1003e23e
lea eax, [esp + 0x10]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp + 0x10]
call fcn.1004aed0
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.1004aee0
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 0x1003e246
xor edi, edi
jmp 0x1003e25d
mov ecx, dword [ebp + 0x10]
call fcn.1004aed0
cmp edi, eax
jl 0x1003e25d
mov ecx, dword [ebp + 0x10]
call fcn.1004aed0
mov edi, eax
dec edi
test esi, esi
jge 0x1003e279
mov ecx, dword [ebp + 0xc]
xor esi, esi
push esi
push edi
call fcn.10052c00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov ecx, dword [ebp + 0x10]
call fcn.1004aee0
cmp esi, eax
jl 0x1003e290
mov ecx, dword [ebp + 0x10]
call fcn.1004aee0
mov esi, eax
dec esi
mov ecx, dword [ebp + 0xc]
push esi
push edi
call fcn.10052c00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
push 1
jmp 0x1003e2f6
lea eax, [edi - 0x204]
cmp eax, 6
ja case.0x1003e2b5.518
jmp dword [eax*4 + 0x1003e39c]
push 2
call fcn.10052bc0
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 0x1003e2f6
push 3
call fcn.10052bc0
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.10052be0
test byte [esp + 0x7c], 0x13
jne 0x1003e324
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.10052c20
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