Function at 0x100765a0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x874
mov eax, dword [0x101636d0]
xor eax, esp
mov dword [esp + 0x870], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], 0
cmp eax, 0x100
ja 0x100769c4
je 0x100769b8
lea ecx, [eax - 1]
cmp ecx, 0x83
ja case.0x10076a3f.518
movzx ecx, byte [ecx + 0x10076d28]
jmp dword [ecx*4 + 0x10076cf4]
mov edx, dword [ebx]
mov eax, dword [edx + 0xcc]
mov ecx, ebx
call eax
mov byte [esp + 0xf], al
jmp 0x1007662b
mov esi, ebx
call fcn.10077260
mov byte [esp + 0xf], al
mov esi, dword [esp + 0x10]
cmp byte [esp + 0xf], 0
jne 0x100768ba
mov eax, dword [ebp + 0x10]
cmp byte [ebx + 0x13e], 0
je 0x10076cce
mov ebx, dword [ebx + 0x140]
test ebx, ebx
je 0x10076cce
mov edx, dword [esp + 0x18]
push edi
push esi
push eax
push edx
push ebx
call dword [sym.imp.USER32.dll_CallWindowProcW]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x870]
xor ecx, esp
call fcn.100cf604
mov esp, ebp
pop ebp
ret 0x14
push 0x3c
lea ecx, [esp + 0x40]
push 0
push ecx
mov dword [esp + 0x44], 0
call fcn.100d6e40
mov esi, dword [esp + 0x24]
add esp, 0xc
lea edx, [esp + 0x38]
push edx
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
call fcn.10076f20
lea eax, [esp + 0x38]
push eax
push esi
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x870]
xor ecx, esp
call fcn.100cf604
mov esp, ebp
pop ebp
ret 0x14
mov edx, dword [ebx]
mov edx, dword [edx + 0xd4]
mov eax, edi
shr eax, 0x10
movsx ecx, ax
push ecx
movsx eax, di
push eax
push esi
mov ecx, ebx
call edx
mov byte [esp + 0xf], al
jmp 0x1007662b
push esi
mov eax, ebx
call fcn.10077560
mov byte [esp + 0xf], al
jmp 0x1007662b
mov eax, dword [ebx]
mov ecx, edi
shr ecx, 0x10
movsx edx, cx
movsx ecx, di
push edx
mov edx, dword [eax + 0xdc]
push ecx
mov ecx, ebx
call edx
push 0
push 0
mov ecx, ebx
mov byte [esp + 0x17], al
call fcn.1007d4e0
mov al, byte [esp + 0xf]
mov byte [esp + 0xf], al
test al, al
je 0x10076636
mov dword [esp + 0x14], 0
jmp 0x1007662b
mov eax, dword [ebx]
mov eax, dword [eax + 0xe4]
cmp esi, 1
sete cl
movzx edx, cl
push edx
mov ecx, ebx
call eax
mov byte [esp + 0xf], al
jmp 0x1007662b
mov edx, dword [ebx]
mov edx, dword [edx + 0xd0]
lea eax, [esp + 0x14]
push eax
mov ecx, edi
shr ecx, 0x10
movsx eax, cx
movsx ecx, di
push eax
push ecx
mov ecx, ebx
call edx
mov byte [esp + 0xf], al
jmp 0x1007662b
mov eax, dword [ebx]
mov edx, dword [eax + 0xf0]
mov ecx, ebx
call edx
test al, al
jmp 0x10076630
mov eax, dword [ebx]
mov eax, dword [eax + 0xfc]
mov esi, edi
shr esi, 0x10
lea ecx, [esp + 0x14]
push ecx
movsx edx, si
push edx
mov edx, dword [esp + 0x18]
movsx ecx, di
push ecx
push edx
mov ecx, ebx
call eax
cmp byte [ebx + 0x14e], 0
mov byte [esp + 0xf], al
je 0x10076627
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
jne 0x10076627
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
movzx eax, di
movzx esi, si
cmp eax, dword [ebx + 0x16c]
jne 0x10076825
cmp esi, dword [ebx + 0x170]
jne 0x10076825
cmp edx, dword [ebx + 0x164]
jne 0x10076825
cmp ecx, dword [ebx + 0x168]
je 0x10076627
cmp byte [ebx + 0x14e], 0
mov dword [ebx + 0x164], edx
mov dword [ebx + 0x168], ecx
mov dword [ebx + 0x170], esi
mov dword [ebx + 0x16c], eax
je 0x10076627
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
jne 0x10076627
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x20]
sub ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
movzx ecx, cx
mov dword [esp + 0x1c], eax
movzx eax, ax
shl ecx, 0x10
or ecx, eax
cmp esi, 0x201
jne 0x100768d5
mov edx, ecx
shr edx, 0x10
movsx eax, dx
movsx ecx, cx
mov esi, ebx
call fcn.10077300
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x870]
xor ecx, esp
call fcn.100cf604
mov esp, ebp
pop ebp
ret 0x14
cmp esi, 0x204
jne 0x1007690c
mov eax, ecx
shr eax, 0x10
movsx edx, ax
movsx eax, cx
push edx
push eax
mov ecx, ebx
call fcn.1007ee60
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x870]
xor ecx, esp
call fcn.100cf604
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [esp + 0x18]
mov edx, dword [ebx]
push ecx
mov ecx, dword [edx + 0xc0]
push 0
push esi
push eax
push ebx
call ecx
jmp 0x10076627
cmp edx, dword [ebx + 0x12c]
jne case.0x10076a3f.518
cmp dword [ebx + 0x1b0], 0
je case.0x10076a3f.518
cmp byte [ebx + 0x1b4], 0
jne 0x10076956
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov byte [ebx + 0x1b4], 1
mov edx, dword [ebx + 0x1b0]
push edx
push esi
push 0x10132b0c
call sub.OLEACC.dll_LresultFromObject
mov esi, eax
xor eax, eax
push 0x7fe
push eax
lea ecx, [esp + 0x82]
push ecx
mov word [esp + 0x84], ax
call fcn.100d6e40
add esp, 0xc
push esi
push str.t_cuWindow::WndProc_____WM_GETOBJECT_____LresultFromObject______d
lea edx, [esp + 0x80]
call fcn.1004b060
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x870]
xor ecx, esp
call fcn.100cf604
mov esp, ebp
pop ebp
ret 0x14
push esi
push ebx
call fcn.10077850
jmp 0x10076636
cmp eax, 0x200
ja 0x10076a26
je 0x10076a09
mov ecx, eax
sub ecx, 0x101
je 0x100769fd
sub ecx, 0x12
jne case.0x10076a3f.518
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0xe8]
push esi
mov ecx, ebx
call eax
mov byte [esp + 0xf], al
jmp 0x1007662b
push esi
push ebx
call fcn.10077960
jmp 0x10076636
mov ecx, edi
shr ecx, 0x10
movsx edx, cx
movsx eax, di
push edx
push eax
mov eax, ebx
call fcn.100773e0
mov byte [esp + 0xf], al
jmp 0x1007662b
lea ecx, [eax - 0x201]
cmp ecx, 0xa2
ja case.0x10076a3f.518
movzx ecx, byte [ecx + 0x10076ddc]
jmp dword [ecx*4 + 0x10076dac]
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 4]
sub edx, eax
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0xc]
sub eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x34], edx
mov edx, dword [ebx]
mov edx, dword [edx + 0xd8]
lea ecx, [esp + 0x1c]
push ecx
push esi
mov ecx, ebx
call edx
mov byte [esp + 0xf], al
test al, al
je 0x10076636
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add edx, eax
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
add eax, ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov dword [edi + 0xc], eax
mov dword [esp + 0x14], 1
jmp 0x1007662b
mov ecx, edi
shr ecx, 0x10
movsx eax, cx
movsx ecx, di
mov esi, ebx
call fcn.10077300
jmp 0x10076623
mov edx, edi
shr edx, 0x10
movsx eax, dx
push eax
movsx eax, di
push ebx
call fcn.10077330
mov byte [esp + 0xf], al
jmp 0x1007662b
mov ecx, edi
shr ecx, 0x10
movsx edx, cx
movsx eax, di
push edx
push eax
mov ecx, ebx
call fcn.1007ee60
mov byte [esp + 0xf], al
jmp 0x1007662b
mov ecx, edi
shr ecx, 0x10
movsx edx, cx
movsx eax, di
push edx
push eax
mov ecx, ebx
call fcn.1007ef60
mov byte [esp + 0xf], al
jmp 0x1007662b
call fcn.10080f10
cmp dword [eax], 0
je 0x100768ba
call fcn.10077500
mov byte [esp + 0xf], al
jmp 0x1007662b
call fcn.10080f10
cmp dword [eax], 0
je 0x100768ba
mov ecx, esi
shr ecx, 0x10
movsx ecx, cx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
movzx ecx, si
add eax, edx
call fcn.100775e0
mov byte [esp + 0xf], al
jmp 0x1007662b
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 4]
sub edx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xc]
sub eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], ecx
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
push ecx
lea eax, [esp + 0x30]
mov dword [esp + 0x2c], edx
mov edx, dword [ebx]
mov edx, dword [edx + 0xe0]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, ebx
call edx
push 0
push 0
mov ecx, ebx
mov byte [esp + 0x17], al
call fcn.1007d4e0
mov al, byte [esp + 0xf]
mov byte [esp + 0xf], al
test al, al
je 0x10076636
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
add edx, eax
mov dword [edi], eax
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov dword [edi + 0xc], eax
mov dword [esp + 0x14], 1
jmp 0x1007662b
mov ecx, edi
shr ecx, 0x10
movsx edx, cx
movsx eax, di
push edx
push eax
mov ecx, ebx
call fcn.1007f060
mov byte [esp + 0xf], al
jmp 0x1007662b
cmp edi, dword [ebx + 0x12c]
je case.0x10076a3f.518
cmp byte [ebx + 0x13d], 0
je 0x10076c49
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov byte [ebx + 0x13d], 0
call fcn.10080f10
cmp dword [eax + 4], 0
je 0x10076636
call fcn.10080f10
mov ecx, dword [eax + 4]
push ecx
call fcn.1007e480
test al, al
je 0x10076636
xor eax, eax
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [ebx + 0x12c]
lea eax, [esp + 0x28]
push eax
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
call fcn.10080f10
mov eax, dword [eax + 4]
lea esi, [esp + 0x2c]
lea edi, [esp + 0x28]
call fcn.10077100
call fcn.10080f10
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov esi, dword [eax + 4]
push edx
push ecx
call fcn.1007ee30
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
jmp 0x10076636
push edi
push esi
push eax
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov ecx, dword [esp + 0x87c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100cf604
mov esp, ebp
pop ebp
ret 0x14