Function at 0x4156c0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
sub esp, 0x34
mov eax, dword [esp + 0x38]
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push ebx
push 0x4554d0
push 0xffffff
push 0x238
push 0xf
mov dword [0x4533a0], eax
mov dword [0x455598], ebx
mov dword [0x4554c8], ebx
mov dword [0x4554cc], ebx
mov dword [esp + 0x24], ebx
mov word [0x4554d0], bx
mov word [0x4554d2], bx
call fcn.00409740
add esp, 0x14
mov word [0x4554d0], bx
mov word [0x4554d2], bx
call dword [sym.imp.WINMM.dll_timeGetTime]
push ebx
mov dword [esp + 0x4c], eax
call fcn.004233c8
push eax
call fcn.0042339b
mov ecx, dword [0x4533a0]
imul ecx, ecx, 0x190
mov edx, 0x1388
sub edx, ecx
add esp, 8
mov dword [0x42f040], edx
call fcn.00415130
mov eax, dword [0x4596d8]
push ebx
push 0xa
push 0x113
push eax
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [0x908dd0], 0x4151b0
call fcn.00415260
push ebx
push 0x4554d0
push 0xffffff
push 0x238
push 0xf
call fcn.00409740
mov ecx, dword [0x4533a0]
inc ecx
push ecx
lea edx, [esp + 0x34]
push 0x42c370
push edx
mov word [0x4554d0], bx
call fcn.004231fe
mov ecx, dword [0x4596d8]
mov ebp, dword [sym.imp.USER32.dll_MessageBoxA]
add esp, 0x20
push ebx
push 0x42c3b8
lea eax, [esp + 0x24]
push eax
push ecx
call ebp
cmp dword [0xc27124], ebx
jne 0x415cfa
call fcn.0041f360
mov esi, eax
cmp dword [0xc27124], ebx
jne 0x415d0c
cmp esi, 0x1b
je 0x415d19
cmp esi, 0xfffffffe
jne 0x4158c6
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [0x4596d8]
lea eax, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x18]
cmp eax, 5
jl 0x41587d
cmp eax, 0x14
jg 0x41587d
mov eax, dword [esp + 0x14]
cmp eax, 0x2fa
jl 0x41584b
cmp eax, 0x309
jg 0x41584b
mov edx, dword [0x4596d8]
push 6
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esp + 0x14]
cmp eax, 0x30c
jl 0x415ba2
cmp eax, 0x31b
jg 0x415ba2
mov eax, dword [0x4596d8]
push 0x113
push eax
call dword [sym.imp.USER32.dll_KillTimer]
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
cmp eax, 0x13
jl 0x415ba2
cmp eax, 0x38
jg 0x415ba2
mov eax, dword [esp + 0x14]
cmp eax, 0x28c
jl 0x415ba2
cmp eax, 0x2ab
jg 0x415ba2
mov ecx, dword [0x4596d8]
push 0x113
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
cmp esi, 0xfffffffd
jne 0x415a0c
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [0x4596d8]
lea ecx, [esp + 0x14]
push ecx
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x18]
cmp eax, 5
jl 0x415988
cmp eax, 0x14
jg 0x415988
mov ecx, dword [esp + 0x14]
cmp ecx, 0x2fa
jl 0x415943
cmp ecx, 0x309
jg 0x415943
mov eax, dword [0xc24b78]
push 5
push 0x2fa
push eax
call fcn.00406770
mov ecx, dword [0xc24b78]
push 5
push 0x2fa
push ecx
call fcn.00406870
add esp, 0x18
jmp 0x415ba2
cmp ecx, 0x30c
jl 0x4159dd
cmp ecx, 0x31b
jg 0x4159dd
mov edx, dword [0x4596b0]
push 5
push 0x30c
push edx
call fcn.00406770
mov eax, dword [0x4596b0]
push 5
push 0x30c
push eax
call fcn.00406870
add esp, 0x18
jmp 0x415ba2
cmp eax, 0x13
jl 0x4159e5
cmp eax, 0x38
jg 0x4159e5
mov ecx, dword [esp + 0x14]
cmp ecx, 0x28c
jl 0x4159dd
cmp ecx, 0x2ab
jg 0x4159dd
mov edx, dword [0x4596bc]
push 0xff00
push 0x13
push 0x28c
push edx
call fcn.00406210
mov eax, dword [0x4596bc]
push 0xff00
push 0x13
push 0x28c
push eax
call fcn.004064b0
add esp, 0x20
jmp 0x415ba2
movzx edx, ax
movzx eax, cx
jmp 0x4159ed
movzx edx, ax
movzx eax, word [esp + 0x14]
mov ecx, dword [0x4596d8]
shl edx, 0x10
or edx, eax
push edx
push 2
push 0xa1
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x415ba2
cmp esi, ebx
jle 0x415ba2
mov edx, dword [0x4341ec]
push 0x48
push 0x5a
push edx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xc
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x42c2bc
push ebx
push eax
call fcn.00405ec0
add esp, 0xc
cmp esi, 0x20
jne 0x415a47
mov esi, 0xd
push 0x4554d0
call fcn.004231e8
push eax
push 0x4554d0
call fcn.00405dc0
add esp, 0xc
cmp eax, 0x64
jle 0x415a73
cmp esi, 0xd
je 0x415a73
cmp esi, 8
je 0x415a73
mov esi, 0xffffff9c
push esi
push 0x4554d0
push 0x343c04
push 0xffffff
push 0x238
push 0xf
call fcn.004098b0
add esp, 0x18
test eax, eax
je 0x415b89
xor esi, esi
mov edi, 0x4533a8
cmp word [edi], bx
je 0x415ab8
push 0x4554d0
push edi
call fcn.00423369
add esp, 8
test eax, eax
je 0x415acc
add edi, 0xc8
inc esi
cmp edi, 0x4552e8
jl 0x415aa1
jmp 0x415b7b
mov eax, dword [0x4533a0]
imul esi, esi, 0xc8
mov ecx, dword [0x455598]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*2 + 0xa]
mov eax, dword [0x4554c8]
mov ecx, dword [0x4554cc]
inc eax
mov dword [0x455598], edx
lea edx, [ecx + eax]
cmp edx, 0x27
mov word [esi + 0x4533a8], bx
mov dword [0x4554c8], eax
jl 0x415b76
cmp eax, ecx
jl 0x415d38
call fcn.00415130
mov eax, dword [0x4533a0]
inc eax
mov dword [0x4533a0], eax
inc eax
push eax
lea eax, [esp + 0x20]
push 0x42c370
push eax
mov dword [0x4554c8], ebx
mov dword [0x4554cc], ebx
call fcn.004231fe
mov edx, dword [0x4596d8]
add esp, 0xc
push ebx
push 0x42c3b8
lea ecx, [esp + 0x24]
push ecx
push edx
call ebp
mov ecx, dword [0x4533a0]
imul ecx, ecx, 0x190
mov eax, 0x1388
sub eax, ecx
mov dword [0x42f040], eax
jns 0x415b76
mov dword [0x42f040], ebx
call fcn.00415260
mov ecx, 0x32
xor eax, eax
mov edi, 0x4554d0
rep stosd dword es:[edi], eax
call fcn.00405f40
call fcn.00405ca0
call fcn.0041f580
mov esi, eax
cmp esi, ebx
jg 0x415a14
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
call esi
mov ecx, dword [esp + 0x48]
mov edx, dword [0x42f040]
sub eax, ecx
shr edx, 2
cmp eax, edx
jbe 0x415cee
call esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
and eax, reloc.WS2_32.dll_closesocket
jns 0x415bdc
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 3
jne 0x415ce9
call fcn.004233a5
cdq
mov ecx, 0x28
idiv ecx
mov ecx, edx
lea esi, [ecx + 0x28]
cmp ecx, esi
jge 0x415c3d
jmp 0x415c00
mov eax, ecx
cdq
mov edi, 0x28
idiv edi
imul edx, edx, 0xc8
cmp word [edx + 0x4533a8], bx
jne 0x415c20
inc ecx
cmp ecx, esi
jl 0x415c00
jmp 0x415c3d
inc dword [0x4554cc]
mov eax, ecx
cdq
mov ecx, 0x28
idiv ecx
imul edx, edx, 0xc8
mov word [edx + 0x4533a8], bx
mov eax, dword [0x4554c8]
mov ecx, dword [0x4554cc]
lea edx, [ecx + eax]
cmp edx, 0x27
jl 0x415ce9
cmp eax, ecx
jl 0x415d5c
call fcn.00415130
mov edi, dword [0x4533a0]
push ebx
push 0x4554d0
push 0x343c04
push 0xffffff
push 0x238
inc edi
push 0xf
mov dword [0x4554c8], ebx
mov dword [0x4554cc], ebx
mov dword [0x4533a0], edi
call fcn.004098b0
mov eax, dword [0x4533a0]
inc eax
push eax
lea ecx, [esp + 0x38]
push 0x42c370
push ecx
mov word [0x4554d0], bx
call fcn.004231fe
mov eax, dword [0x4596d8]
add esp, 0x24
push ebx
push 0x42c3b8
lea edx, [esp + 0x24]
push edx
push eax
call ebp
mov ecx, dword [0x4533a0]
imul ecx, ecx, 0x190
mov eax, 0x1388
sub eax, ecx
mov dword [0x42f040], eax
jns 0x415ce9
mov dword [0x42f040], ebx
call fcn.00415260
cmp dword [0xc27124], ebx
je 0x4157d6
mov ecx, dword [0x4596d8]
push 0x113
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x455598]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov edx, dword [0x4596d8]
push 0x113
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x455598]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov edx, dword [0x4596d8]
push 0x113
push edx
call dword [sym.imp.USER32.dll_KillTimer]
call fcn.00405f40
mov eax, dword [0x455598]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov eax, dword [0x4596d8]
push 0x113
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x455598]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret