Function at 0x1003b9a0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov al, byte [0x10132328]
sub esp, 0x60
test al, al
push ebx
push ebp
push esi
push edi
mov ebp, ecx
je 0x1003b9d9
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.0x1003b9fb.20
xor ecx, ecx
mov cl, byte [eax + 0x1003bfcc]
jmp dword [ecx*4 + 0x1003bfb4]
mov eax, dword [0x10132260]
test eax, eax
je 0x1003ba27
mov al, byte [0x1013230c]
test al, al
jne 0x1003ba27
mov ecx, dword [ebp + 0x10]
call fcn.10048110
test al, al
jne 0x1003ba27
mov byte [0x10132264], 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.1003b640
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 [0x10132260]
test eax, eax
je 0x1003ba81
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 0x1003bae6
mov eax, dword [ebp + 0x44]
test eax, eax
jne 0x1003bab7
mov eax, 0x10105434
mov ecx, dword [ebp + 0x54]
test ecx, ecx
jne 0x1003bac3
mov ecx, 0x10105434
push 0x50031
push eax
mov eax, dword [esp + 0x7c]
push ecx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
je 0x1003bae6
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 [0x10132248]
test al, al
jne case.0x1003b9fb.20
cmp dword [0x10132260], 3
jne 0x1003bb32
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.0x1003b9fb.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.0x1003b9fb.20
mov ecx, dword [esp + 0x14]
test ecx, ecx
jl case.0x1003b9fb.20
cmp eax, dword [esp + 0x28]
jge case.0x1003b9fb.20
cmp ecx, dword [esp + 0x2c]
jge case.0x1003b9fb.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 [0x1013230c]
test al, al
je case.0x1003b9fb.20
mov eax, dword [esp + 0x7c]
test eax, eax
mov al, byte [0x10132248]
je 0x1003bc53
test al, al
je case.0x1003b9fb.20
cmp dword [0x10132260], 3
jne 0x1003bbd6
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
mov byte [0x10132328], 1
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003bc09
cmp dword [0x10132260], 3
jne 0x1003bc01
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003bc01
call fcn.10052630
and eax, 0xff
mov dword [ebp + 0x78], eax
mov ecx, dword [ebp + 0xc]
call fcn.100525e0
mov al, byte [0x1013230c]
test al, al
je 0x1003bc25
mov ecx, dword [ebp + 0x10]
call fcn.10048110
test al, al
jne 0x1003bc25
mov byte [0x10132264], 1
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1003bc31
call fcn.1006a190
mov ecx, dword [0x10132280]
test ecx, ecx
mov byte [0x10132248], 0
mov byte [0x10132328], 0
je case.0x1003b9fb.20
mov edx, dword [ecx]
call dword [edx]
jmp case.0x1003b9fb.20
test al, al
jne case.0x1003b9fb.20
mov byte [0x10132328], 1
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1003bc6a
call fcn.1006a190
mov al, byte [0x1013230c]
test al, al
je 0x1003bc7b
mov ecx, dword [ebp + 0x10]
call fcn.1006a190
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003bc9f
cmp dword [0x10132260], 3
jne 0x1003bc97
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003bc97
call fcn.100526f0
mov ecx, dword [ebp + 0xc]
call fcn.100525e0
cmp dword [0x10132260], 3
mov byte [0x10132248], 1
mov byte [0x10132328], 0
jne 0x1003bcbe
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov ecx, dword [0x10132280]
test ecx, ecx
je case.0x1003b9fb.20
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1003bf93
mov al, byte [0x10132248]
test al, al
jne 0x1003bf93
mov edx, dword [0x10132260]
cmp edx, 3
jne 0x1003bd23
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1003bd23
call fcn.10052630
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
push ecx
push edx
push edi
and eax, 0xff
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 0x1003beee
je 0x1003beea
cmp edi, 0x105
ja 0x1003bdca
je 0x1003bd97
mov eax, edi
sub eax, 0x100
je 0x1003bd58
dec eax
je 0x1003bd97
sub eax, 3
jne case.0x1003bef9.518
mov edx, dword [esp + 0x80]
test edx, 0x40000000
jne 0x1003bf68
mov eax, edx
sar eax, 1
and eax, 0x800000
and edx, 0x7f0000
or eax, edx
sar eax, 0x10
je 0x1003bf68
push eax
call fcn.10052520
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov edx, dword [esp + 0x80]
mov eax, edx
sar eax, 1
and eax, 0x800000
and edx, 0x7f0000
or eax, edx
sar eax, 0x10
je 0x1003bf68
push eax
call fcn.10052540
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov eax, edi
sub eax, 0x200
je 0x1003bdf4
dec eax
jne case.0x1003bef9.518
push 1
call fcn.10052560
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 0x1003bf68
cmp edx, 3
jne 0x1003be30
mov eax, dword [ebp + 0x78]
test eax, eax
jne 0x1003be30
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.100525a0
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 0x1003be82
lea eax, [esp + 0x10]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp + 0x10]
call fcn.100489e0
imul eax, edi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
sub ecx, edi
cdq
idiv ecx
mov ecx, dword [ebp + 0x10]
mov edi, eax
call fcn.100489f0
imul eax, esi
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
sub ecx, edx
cdq
idiv ecx
mov esi, eax
test edi, edi
jge 0x1003be8a
xor edi, edi
jmp 0x1003bea1
mov ecx, dword [ebp + 0x10]
call fcn.100489e0
cmp edi, eax
jl 0x1003bea1
mov ecx, dword [ebp + 0x10]
call fcn.100489e0
mov edi, eax
dec edi
test esi, esi
jge 0x1003bebd
mov ecx, dword [ebp + 0xc]
xor esi, esi
push esi
push edi
call fcn.100525a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
mov ecx, dword [ebp + 0x10]
call fcn.100489f0
cmp esi, eax
jl 0x1003bed4
mov ecx, dword [ebp + 0x10]
call fcn.100489f0
mov esi, eax
dec esi
mov ecx, dword [ebp + 0xc]
push esi
push edi
call fcn.100525a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
push 1
jmp 0x1003bf3a
lea eax, [edi - 0x204]
cmp eax, 6
ja case.0x1003bef9.518
jmp dword [eax*4 + 0x1003bfe0]
push 2
call fcn.10052560
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 0x1003bf3a
push 3
call fcn.10052560
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.10052580
test byte [esp + 0x7c], 0x13
jne 0x1003bf68
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.100525c0
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