Function at 0x455a1c
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebx
push esi
add esp, 0xfffffff8
mov esi, eax
mov eax, dword [edx]
sub eax, 0x11
je 0x455a3b
sub eax, 5
je 0x455a47
sub eax, 0x3eb
je 0x455a62
jmp 0x455d25
mov dword [edx + 0xc], 1
jmp case.default.0x455a80
cmp dword [edx + 4], 0
je case.default.0x455a80
mov edx, 2
mov eax, esi
call fcn.00455d84
jmp case.default.0x455a80
mov eax, dword [edx + 8]
cmp eax, 0x205
jg 0x455a9b
je 0x455c04
add eax, 0xfffffe00
cmp eax, 4
ja case.default.0x455a80
jmp dword [eax*4 + 0x455a87]
cmp eax, 0x208
jg 0x455abf
je 0x455ce5
sub eax, 0x206
je case.0x455a80.515
dec eax
je 0x455ca7
jmp case.default.0x455a80
sub eax, 0x209
je case.0x455a80.515
add eax, 0xfffffe06
sub eax, 2
jb 0x455d1f
jmp case.default.0x455a80
cmp word [esi + 0x242], 0
je case.default.0x455a80
call fcn.004559dc
mov ebx, eax
push esp
call sub.user32.dll_GetCursorPos
mov eax, dword [esp]
push eax
mov eax, dword [esp + 8]
push eax
mov ecx, ebx
mov edx, esi
mov eax, dword [esi + 0x244]
call dword [esi + 0x240]
jmp case.default.0x455a80
cmp word [esi + 0x25a], 0
je 0x455b4e
call fcn.004559dc
mov ebx, eax
or bl, byte [0x455d48]
push esp
call sub.user32.dll_GetCursorPos
push ebx
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
xor ecx, ecx
mov edx, esi
mov eax, dword [esi + 0x25c]
call dword [esi + 0x258]
mov byte [esi + 0x21c], 1
jmp case.default.0x455a80
call fcn.004559dc
mov ebx, eax
or bl, byte [0x455d48]
push esp
call sub.user32.dll_GetCursorPos
cmp byte [esi + 0x21c], 0
je 0x455b95
cmp word [esi + 0x24a], 0
je 0x455b95
mov edx, esi
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov byte [esi + 0x21c], 0
cmp word [esi + 0x262], 0
je case.default.0x455a80
push ebx
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
xor ecx, ecx
mov edx, esi
mov eax, dword [esi + 0x264]
call dword [esi + 0x260]
jmp case.default.0x455a80
cmp word [esi + 0x25a], 0
je case.default.0x455a80
call fcn.004559dc
mov ebx, eax
or bl, byte [0x455d4c]
push esp
call sub.user32.dll_GetCursorPos
push ebx
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
mov cl, 1
mov edx, esi
mov eax, dword [esi + 0x25c]
call dword [esi + 0x258]
jmp case.default.0x455a80
call fcn.004559dc
mov ebx, eax
or bl, byte [0x455d4c]
push esp
call sub.user32.dll_GetCursorPos
cmp word [esi + 0x262], 0
je 0x455c3c
push ebx
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
mov cl, 1
mov edx, esi
mov eax, dword [esi + 0x264]
call dword [esi + 0x260]
cmp dword [esi + 0x22c], 0
je case.default.0x455a80
mov eax, dword [0x5ee720]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_SetForegroundWindow
mov eax, dword [0x5ee720]
mov eax, dword [eax]
call fcn.0048af14
mov eax, dword [esi + 0x22c]
mov byte [eax + 0x61], 0
mov edx, dword [esi + 4]
mov dword [eax + 0x64], edx
mov ecx, dword [esp + 4]
mov edx, dword [esp]
mov ebx, dword [eax]
call dword [ebx + 0x40]
jmp case.default.0x455a80
cmp word [esi + 0x252], 0
je case.default.0x455a80
mov edx, esi
mov eax, dword [esi + 0x254]
call dword [esi + 0x250]
jmp case.default.0x455a80
cmp word [esi + 0x25a], 0
je case.default.0x455a80
call fcn.004559dc
mov ebx, eax
or bl, byte [0x455d50]
push esp
call sub.user32.dll_GetCursorPos
push ebx
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
mov cl, 2
mov edx, esi
mov eax, dword [esi + 0x25c]
call dword [esi + 0x258]
jmp case.default.0x455a80
cmp word [esi + 0x262], 0
je case.default.0x455a80
call fcn.004559dc
mov ebx, eax
or bl, byte [0x455d50]
push esp
call sub.user32.dll_GetCursorPos
push ebx
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
mov cl, 2
mov edx, esi
mov eax, dword [esi + 0x264]
call dword [esi + 0x260]
jmp case.default.0x455a80
and dword [esi + 0x40], 0xffffffef
jmp case.default.0x455a80
mov eax, dword [edx]
cmp eax, dword [0x5f3bd4]
jne case.default.0x455a80
cmp byte [esi + 0x23c], 0
je case.default.0x455a80
xor edx, edx
mov eax, esi
call fcn.00455d84
pop ecx
pop edx
pop esi
pop ebx
ret