Function at 0x407e20
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov ecx, dword [edi + 8]
sub esp, 8
push ebx
push esi
lea ebx, [edi + 0x5a48]
push ebx
mov eax, 1
call fcn.004037d0
cmp eax, 1
jne 0x407e82
mov eax, dword [0x4b3cd8]
test eax, eax
je 0x4082a6
cmp eax, 3
je 0x4082a6
call fcn.004303c0
push 0
push 1
mov ecx, edi
call fcn.004084f0
test eax, eax
je 0x4082a6
mov eax, 1
call fcn.004304b0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
push ebx
mov eax, 2
call fcn.004037d0
cmp eax, 1
jne 0x407eb3
push 0
push 2
mov ecx, edi
call fcn.004084f0
test eax, eax
je 0x4082a6
call fcn.004308f0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
push ebx
mov eax, 4
call fcn.004037d0
cmp eax, 1
jne 0x407ee1
push 0
push 4
mov ecx, edi
call fcn.004084f0
push 4
call fcn.004314a0
add esp, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
push ebx
mov eax, 8
call fcn.004037d0
cmp eax, 1
jne 0x407f0f
push 0
push 8
mov ecx, edi
call fcn.004084f0
push 8
call fcn.004314a0
add esp, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
push ebx
mov eax, 0x10
call fcn.004037d0
cmp eax, 1
je 0x4082a6
mov ecx, dword [edi + 8]
push ebx
mov eax, 0x20
call fcn.004037d0
cmp eax, 1
je 0x4082a6
mov esi, dword [edi + 8]
mov eax, 1
mov dword [esp + 0xc], 0
cmp dword [esi + 0x6c], eax
je 0x407f73
cmp dword [esi + 0x70], eax
je 0x407f73
lea eax, [esi + 0x64]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x407f73
lea eax, [esi + 0x64]
push eax
mov eax, dword [esi + 0x48]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0xc9
mov ecx, esi
call fcn.00403a80
test eax, eax
mov eax, 1
jne 0x407f8c
mov eax, dword [esp + 0xc]
test ebx, ebx
je 0x407f9b
mov ecx, dword [esi + 0x64]
mov dword [ebx], ecx
mov edx, dword [esi + 0x68]
mov dword [ebx + 4], edx
mov ecx, 1
cmp eax, ecx
jne 0x407fb1
mov ecx, edi
call fcn.004082f0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 8]
mov dword [esp + 0xc], 0
cmp dword [esi + 0x6c], ecx
je 0x407fe2
cmp dword [esi + 0x70], ecx
je 0x407fe2
lea eax, [esi + 0x64]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x407fe2
lea eax, [esi + 0x64]
push eax
mov eax, dword [esi + 0x48]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0xd1
mov ecx, esi
call fcn.00403a80
test eax, eax
mov eax, 1
jne 0x407ffb
mov eax, dword [esp + 0xc]
test ebx, ebx
je 0x40800a
mov ecx, dword [esi + 0x64]
mov dword [ebx], ecx
mov edx, dword [esi + 0x68]
mov dword [ebx + 4], edx
mov ecx, 1
cmp eax, ecx
jne 0x408020
mov ecx, edi
call fcn.00408310
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 8]
mov dword [esp + 0xc], 0
cmp dword [esi + 0x6c], ecx
je 0x408051
cmp dword [esi + 0x70], ecx
je 0x408051
lea eax, [esi + 0x64]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x408051
lea eax, [esi + 0x64]
push eax
mov eax, dword [esi + 0x48]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0xc7
mov ecx, esi
call fcn.00403a80
test eax, eax
mov eax, 1
jne 0x40806a
mov eax, dword [esp + 0xc]
test ebx, ebx
je 0x408079
mov ecx, dword [esi + 0x64]
mov dword [ebx], ecx
mov edx, dword [esi + 0x68]
mov dword [ebx + 4], edx
mov ecx, 1
cmp eax, ecx
jne 0x40808f
mov ecx, edi
call fcn.00408330
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 8]
mov dword [esp + 0xc], 0
cmp dword [esi + 0x6c], ecx
je 0x4080c0
cmp dword [esi + 0x70], ecx
je 0x4080c0
lea eax, [esi + 0x64]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x4080c0
lea eax, [esi + 0x64]
push eax
mov eax, dword [esi + 0x48]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0xcf
mov ecx, esi
call fcn.00403a80
test eax, eax
mov eax, 1
jne 0x4080d9
mov eax, dword [esp + 0xc]
test ebx, ebx
je 0x4080e8
mov ecx, dword [esi + 0x64]
mov dword [ebx], ecx
mov edx, dword [esi + 0x68]
mov dword [ebx + 4], edx
mov ecx, 1
cmp eax, ecx
jne 0x4080fe
mov ecx, edi
call fcn.00408350
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 8]
mov dword [esp + 0xc], 0
cmp dword [esi + 0x6c], ecx
je 0x40812c
cmp dword [esi + 0x70], ecx
je 0x40812c
lea ebx, [esi + 0x64]
push ebx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x40812c
mov eax, dword [esi + 0x48]
push ebx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0x2c
mov ecx, esi
call fcn.00403a80
mov ebx, 1
test eax, eax
je 0x408142
mov dword [esp + 0xc], ebx
lea eax, [edi + 0x5a48]
test eax, eax
je 0x408157
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov edx, dword [esi + 0x68]
mov dword [eax + 4], edx
cmp dword [esp + 0xc], ebx
jne 0x408169
push edi
call fcn.00408370
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 8]
mov dword [esp + 0xc], 0
cmp dword [esi + 0x6c], ebx
je 0x40819c
cmp dword [esi + 0x70], ebx
je 0x40819c
lea ebx, [esi + 0x64]
push ebx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x408197
mov eax, dword [esi + 0x48]
push ebx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ebx, 1
push 0x2d
mov ecx, esi
call fcn.00403a80
test eax, eax
je 0x4081ad
mov dword [esp + 0xc], ebx
lea eax, [edi + 0x5a48]
test eax, eax
je 0x4081c2
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov edx, dword [esi + 0x68]
mov dword [eax + 4], edx
cmp dword [esp + 0xc], ebx
jne 0x4081d4
push edi
call fcn.004083f0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 8]
mov dword [esp + 0xc], 0
cmp dword [esi + 0x6c], ebx
je 0x408207
cmp dword [esi + 0x70], ebx
je 0x408207
lea ebx, [esi + 0x64]
push ebx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x408202
mov eax, dword [esi + 0x48]
push ebx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ebx, 1
push 0x2e
mov ecx, esi
call fcn.00403a80
test eax, eax
je 0x408218
mov dword [esp + 0xc], ebx
lea eax, [edi + 0x5a48]
test eax, eax
je 0x40822d
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov edx, dword [esi + 0x68]
mov dword [eax + 4], edx
cmp dword [esp + 0xc], ebx
jne 0x408240
mov ecx, edi
call fcn.00408470
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 8]
mov dword [esp + 0xc], 0
cmp dword [esi + 0x6c], ebx
je 0x408273
cmp dword [esi + 0x70], ebx
je 0x408273
lea ebx, [esi + 0x64]
push ebx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x40826e
mov eax, dword [esi + 0x48]
push ebx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ebx, 1
push 0x2f
mov ecx, esi
call fcn.00403a80
test eax, eax
je 0x408284
mov dword [esp + 0xc], ebx
lea eax, [edi + 0x5a48]
test eax, eax
je 0x408299
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov edx, dword [esi + 0x68]
mov dword [eax + 4], edx
cmp dword [esp + 0xc], ebx
jne 0x4082a6
mov ecx, edi
call fcn.004084b0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret