Function at 0x422290
Capabilities:
Check for unmoving mouse cursor

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ecx, 0x20
mov ebx, edx
mov dword [esp + 0x1c], edi
call fcn.005382b0
cdq
sub eax, edx
mov esi, eax
mov ecx, 0x20
sar esi, 1
call fcn.005382b0
mov ecx, 0x1e
lea esi, [esi + eax*2]
call fcn.005382b0
lea eax, [esi + eax + 1]
mov ecx, 0x21
mov dword [esp + 0x14], eax
call fcn.005382b0
cdq
sub eax, edx
mov esi, eax
mov ecx, 0x21
sar esi, 1
call fcn.005382b0
mov ecx, 0x21
add esi, eax
call fcn.005382b0
mov ecx, 0xf
add esi, eax
call fcn.005382b0
mov ecx, 4
add esi, eax
call fcn.005382b0
lea ecx, [esi + eax + 1]
push edi
mov dword [esp + 0x1c], ecx
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
test esi, esi
mov dword [esp + 0x10], esi
jne 0x422352
mov eax, dword [0x59f660]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x42234e
mov eax, dword [0x594600]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x42234e
push 0xfffffffffffffff8
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x10]
cmp ebx, 0x10
je 0x42239a
cmp ebx, 0x11
je 0x42239a
cmp ebx, 0x1e
je 0x42239a
cmp ebx, 3
jle 0x4223e5
cmp ebx, 0x12
jge 0x4223e5
mov eax, dword [0x5a1b0c]
test eax, eax
je 0x422398
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x422398
mov edx, dword [0x5a1b0c]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x422398
mov ebp, dword [0x5a1b0c]
jmp 0x42239c
xor ebx, ebx
mov ebp, esi
mov eax, dword [0x59427c]
test eax, eax
je 0x4223bf
cmp dword [eax + 0xc8], edi
jne 0x4223b5
mov ebp, dword [eax + 0xcc]
xor ebx, ebx
mov eax, dword [eax + 0x1018]
test eax, eax
jne 0x4223a5
mov eax, dword [0x59b070]
test eax, eax
je 0x4223ed
cmp esi, eax
jne 0x4223ed
push 0x66
push eax
xor ebx, ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebp, eax
test ebp, ebp
jne 0x422411
mov ebp, dword [0x59b070]
jmp 0x422411
mov ebp, dword [0x5a1b00]
jmp 0x42239c
test ebp, ebp
je 0x422407
push ebp
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x422407
push ebp
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x422411
xor ebx, ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ebp, eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp ebp, eax
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
jne 0x422437
mov ecx, dword [0x5a1b00]
push 0
lea eax, [esp + 0x2c]
push eax
xor edx, edx
call fcn.004dbcc0
jmp 0x42243f
lea ecx, [esp + 0x28]
push ecx
push ebp
call esi
lea edx, [esp + 0x38]
push edx
push edi
call esi
test ebx, ebx
je 0x42252c
cmp ebx, 4
je 0x42252c
cmp ebx, 5
je 0x42252c
cmp ebx, 0x1e
je 0x42252c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
lea esi, [eax + ecx]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x20]
push ecx
lea edi, [edx + eax]
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
sub eax, edx
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esp + 0x20]
sar edx, 1
sub eax, edx
cmp eax, esi
jge 0x4224a8
mov eax, esi
cmp ebx, 7
jne 0x4224cc
mov eax, dword [esp + 0x14]
cdq
sub eax, edx
sar eax, 1
neg eax
add esi, eax
mov eax, dword [esp + 0x18]
cdq
sub eax, edx
sar eax, 1
neg eax
add edi, eax
jmp 0x422588
cmp ebx, 0x12
jne 0x4224d8
mov esi, eax
jmp 0x422588
cmp ebx, 0x13
jne 0x4224e4
mov esi, eax
jmp 0x422588
cmp ebx, 0x14
jne 0x4224f0
mov esi, eax
jmp 0x422588
cmp ebx, 0x15
jne 0x4224fc
mov esi, eax
jmp 0x422588
cmp ebx, 0x16
jne 0x422508
mov esi, eax
jmp 0x422588
cmp ebx, 0x17
jne 0x422511
mov esi, eax
jmp 0x422588
cmp ebx, 0x18
jne 0x42251a
mov esi, eax
jmp 0x422588
cmp ebx, 0x19
jne 0x422523
mov esi, eax
jmp 0x422588
cmp ebx, 0x1a
jne 0x422588
mov esi, eax
jmp 0x422588
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
sub eax, edx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x44]
sar edi, 1
sar esi, 1
sub esi, edi
add esi, ecx
sub eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [esp + 0x34]
sub eax, ecx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x59b070]
sar edi, 1
sar ebx, 1
sub edi, ebx
add edi, ecx
test eax, eax
je 0x422588
cmp dword [esp + 0x10], eax
jne 0x422588
sub edi, 0xa
mov eax, dword [0x5a13f0]
test eax, eax
je 0x42261a
cmp dword [0x599094], 3
jne 0x42261a
mov ebx, dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 0x20]
push eax
call ebx
push 0
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
xor ecx, ecx
call fcn.004dbcc0
lea edx, [esp + 0x20]
push edx
call ebx
push 1
lea eax, [esp + 0x4c]
push eax
lea edx, [esp + 0x28]
xor ecx, ecx
call fcn.004dbcc0
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x4c]
jle 0x4225e8
mov esi, dword [esp + 0x30]
xor edi, edi
jmp 0x422640
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
jle 0x4225fc
xor esi, esi
mov edi, ecx
jmp 0x422644
cmp ecx, dword [esp + 0x54]
jge 0x42260a
mov esi, dword [esp + 0x30]
mov edi, ecx
jmp 0x422644
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x50]
jge 0x422644
mov esi, eax
mov edi, ecx
jmp 0x422644
call dword [sym.imp.USER32.dll_GetDesktopWindow]
xor edx, edx
cmp ebp, eax
push edx
jne 0x422634
mov ecx, dword [0x5a1b00]
lea eax, [esp + 0x2c]
push eax
jmp 0x42263b
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.004dbcc0
mov ecx, dword [esp + 0x34]
cmp dword [0x599094], 3
jne 0x422657
mov dword [0x599094], 0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov ebx, edx
sub ebx, eax
add ebx, esi
add ebp, 0xfffffffe
cmp ebx, ebp
jle 0x42267a
sub eax, edx
mov edx, dword [esp + 0x30]
lea esi, [eax + edx - 2]
mov eax, dword [esp + 0x28]
add eax, 2
cmp esi, eax
jge 0x422687
mov esi, eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
mov ebx, edx
sub ebx, eax
add ebx, edi
lea ebp, [ecx - 2]
cmp ebx, ebp
jle 0x4226a2
sub eax, edx
lea edi, [eax + ecx - 2]
mov eax, dword [esp + 0x2c]
add eax, 2
cmp edi, eax
jge 0x4226af
mov edi, eax
mov eax, dword [esp + 0x1c]
push 0x15
push 0
push 0
push edi
push esi
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret