Function at 0x401e10
Capabilities:
Check for unmoving mouse cursor

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
mov esi, dword [esp + 0x50]
xor ebp, ebp
push edi
push ebp
push 0x433dd0
push 0xffffff
push 0x238
push 0xf
mov dword [0x432d68], esi
mov dword [esp + 0x28], ebp
mov dword [0x42f044], 0x12
mov dword [0x4341c0], ebp
mov dword [0x4327a0], ebp
mov word [0x433dd0], bp
mov word [0x433dd2], bp
call fcn.00409740
add esp, 0x14
mov word [0x433dd0], bp
mov word [0x433dd2], bp
mov eax, 0x433ea4
mov dword [eax - 4], ebp
mov dword [eax], ebp
add eax, 8
cmp eax, 0x4341c4
jl 0x401e78
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
call edi
push ebp
mov dword [esp + 0x1c], eax
call fcn.004233c8
push eax
call fcn.0042339b
lea eax, [esi + esi*4]
shl eax, 4
mov ecx, 0x3e8
sub ecx, eax
add esp, 8
mov dword [0x42f040], ecx
call edi
mov dword [0x432a04], eax
mov edi, 0xffffffd8
mov ebx, 0x432d70
xor esi, esi
mov dword [esp + 0x10], 0xa
call fcn.004233a5
mov ecx, dword [0x434244]
cdq
idiv dword [ecx*4 + 0xa6a500]
imul ecx, ecx, 0xbb8
add edx, ecx
lea edx, [edx + edx*4]
lea eax, [edx*8 + 0xa2de00]
push eax
push ebx
call fcn.00423280
add esp, 8
call fcn.004233a5
cdq
mov ecx, 0x1f4
idiv ecx
mov dword [esi + 0x433d60], edi
add edx, 0x32
mov dword [esi + 0x433d10], edx
call fcn.004233a5
cdq
mov ecx, 0x32
idiv ecx
lea eax, [edx - 0x2d]
cmp eax, ebp
mov dword [esi + 0x432c18], eax
jge 0x401f3b
mov dword [esi + 0x432c18], ebp
add edi, 2
add ebx, 0xc8
add esi, 4
cmp edi, ebp
jl 0x401ed0
mov edx, dword [0x4596d8]
push ebp
push 0xa
push 0x113
push edx
call dword [sym.imp.USER32.dll_SetTimer]
call fcn.00401a10
mov eax, dword [0x432d68]
inc eax
push eax
lea ecx, [esp + 0x2c]
push 0x42c370
push ecx
mov dword [0x908dd0], 0x401870
mov dword [0x432c14], ebp
mov dword [0x432a00], ebp
call fcn.004231fe
mov eax, dword [0x4596d8]
add esp, 0xc
push ebp
push 0x42c368
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [0xc27124], ebp
mov dword [esp + 0x54], ebp
jne 0x4028ad
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
mov ebx, dword [esp + 0x18]
call fcn.0041f360
mov esi, eax
cmp dword [0xc27124], ebp
jne 0x4028ad
cmp esi, 0xfffffffe
jne 0x4020ab
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [0x4596d8]
lea edx, [esp + 0x20]
push edx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x24]
cmp eax, 5
jl 0x402063
cmp eax, 0x14
jg 0x402063
mov eax, dword [esp + 0x20]
cmp eax, 0x2fa
jl 0x402030
cmp eax, 0x309
jg 0x402030
mov ecx, dword [0x4596d8]
push 6
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esp + 0x20]
cmp eax, 0x30c
jl 0x4025a0
cmp eax, 0x31b
jg 0x4025a0
mov edx, dword [0x4596d8]
push 0x113
push edx
call dword [sym.imp.USER32.dll_KillTimer]
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x40
ret
cmp eax, 0x13
jl 0x4025a0
cmp eax, 0x38
jg 0x4025a0
mov eax, dword [esp + 0x20]
cmp eax, 0x28c
jl 0x4025a0
cmp eax, 0x2ab
jg 0x4025a0
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, 0x40
ret
cmp esi, 0xfffffffd
jne 0x402207
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [0x4596d8]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x24]
cmp eax, 5
jl 0x402187
cmp eax, 0x14
jg 0x402187
mov ecx, dword [esp + 0x20]
cmp ecx, 0x2fa
jl 0x402128
cmp ecx, 0x309
jg 0x402128
mov edx, dword [0xc24b78]
push 5
push 0x2fa
push edx
call fcn.00406770
mov eax, dword [0xc24b78]
push 5
push 0x2fa
push eax
call fcn.00406870
add esp, 0x18
jmp 0x4025a0
cmp ecx, 0x30c
jl 0x402166
cmp ecx, 0x31b
jg 0x402166
mov ecx, dword [0x4596b0]
push 5
push 0x30c
push ecx
call fcn.00406770
mov edx, dword [0x4596b0]
push 5
push 0x30c
push edx
call fcn.00406870
add esp, 0x18
jmp 0x4025a0
mov edx, dword [0x4596d8]
movzx eax, ax
movzx ecx, cx
shl eax, 0x10
or eax, ecx
push eax
push 2
push 0xa1
push edx
call edi
jmp 0x4025a0
cmp eax, 0x13
jl 0x4021e4
cmp eax, 0x38
jg 0x4021e4
mov ecx, dword [esp + 0x20]
cmp ecx, 0x28c
jl 0x4021dc
cmp ecx, 0x2ab
jg 0x4021dc
mov eax, dword [0x4596bc]
push 0xff00
push 0x13
push 0x28c
push eax
call fcn.00406210
mov ecx, dword [0x4596bc]
push 0xff00
push 0x13
push 0x28c
push ecx
call fcn.004064b0
add esp, 0x20
jmp 0x4025a0
movzx edx, ax
movzx eax, cx
jmp 0x4021ec
movzx edx, ax
movzx eax, word [esp + 0x20]
mov ecx, dword [0x4596d8]
shl edx, 0x10
or edx, eax
push edx
push 2
push 0xa1
push ecx
call edi
jmp 0x4025a0
cmp esi, 0x1b
je 0x4028cb
cmp esi, ebp
jle 0x4025a0
cmp esi, 0x20
jne 0x402222
mov esi, 0xd
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 ebp
push eax
call fcn.00405ec0
push 0x433dd0
call fcn.004231e8
push eax
push 0x433dd0
call fcn.00405dc0
add esp, 0x18
cmp eax, 0x64
jle 0x402274
cmp esi, 8
je 0x402274
cmp esi, 0xd
je 0x402274
mov esi, 0xffffff9c
call fcn.00405f40
push esi
push 0x433dd0
push 0x343c04
push 0xffffff
push 0x238
push 0xf
call fcn.004098b0
add esp, 0x18
test eax, eax
je 0x40258c
xor ebx, ebx
xor edi, edi
mov esi, 0x432d70
lea esp, [esp]
cmp dword [edi*4 + 0x433d60], ebp
jl 0x4022cb
push 0x433dd0
push esi
call fcn.00423369
add esp, 8
test eax, eax
je 0x4022dc
inc edi
add esi, 0xc8
cmp edi, 0x14
jl 0x4022b0
jmp 0x402573
mov eax, dword [0x432c14]
mov ebx, 3
cmp eax, ebx
jne 0x4022f0
mov dword [0x432c14], ebp
mov eax, dword [edi*4 + 0x432c18]
dec eax
cmp eax, ebx
ja case.default.0x4022fc
jmp dword [eax*4 + 0x40290c]
mov ebx, 1
jmp case.0x4022fc.3
mov ebx, 2
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x432c14], ebx
call esi
mov dword [0x432a00], eax
mov dword [0x4341c0], ebx
call esi
jmp 0x402346
mov dword [0x4341c0], 4
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x42f044], 0x12
mov dword [0x4341c4], eax
mov eax, dword [0x432d68]
mov ecx, dword [0x4327a0]
mov ebx, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*2 + 0xa]
mov eax, edi
imul eax, eax, 0xc8
dec ebx
mov dword [esp + 0x10], ebx
mov dword [0x4327a0], edx
lea esi, [eax + 0x432d70]
call fcn.004233a5
mov ecx, dword [0x434244]
cdq
idiv dword [ecx*4 + 0xa6a500]
imul ecx, ecx, 0xbb8
add edx, ecx
lea ecx, [edx + edx*4]
lea edx, [ecx*8 + 0xa2de00]
push edx
push esi
call fcn.00423280
add esp, 8
cmp ebx, ebp
jl 0x402434
call fcn.004233a5
cdq
mov ecx, 0x1f4
idiv ecx
add edx, 0x32
mov dword [edi*4 + 0x433d10], edx
call fcn.004233a5
cdq
mov ecx, 0x32
idiv ecx
lea eax, [edx - 0x2d]
cmp eax, ebp
mov dword [edi*4 + 0x432c18], eax
jge 0x4023ea
mov dword [edi*4 + 0x432c18], ebp
xor eax, eax
mov ecx, 0x433d64
mov edx, dword [ecx - 4]
cmp eax, edx
jle 0x4023fa
mov eax, edx
mov edx, dword [ecx]
cmp eax, edx
jle 0x402402
mov eax, edx
mov edx, dword [ecx + 4]
cmp eax, edx
jle 0x40240b
mov eax, edx
mov edx, dword [ecx + 8]
cmp eax, edx
jle 0x402414
mov eax, edx
mov edx, dword [ecx + 0xc]
cmp eax, edx
jle 0x40241d
mov eax, edx
add ecx, 0x14
cmp ecx, 0x433db4
jl 0x4023f1
add eax, 0xfffffffe
mov dword [edi*4 + 0x433d60], eax
jmp 0x402442
mov word [esi], bp
mov dword [edi*4 + 0x433d60], 0xffffff9c
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
inc eax
add edx, eax
cmp edx, 0x1e
mov dword [esp + 0x14], eax
jl 0x40256e
mov eax, dword [0x432d68]
inc eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x54], ebp
mov dword [0x432d68], eax
mov edi, 0xffffffd8
mov ebx, 0x432d70
xor esi, esi
mov dword [esp + 0x10], 0xa
call fcn.004233a5
mov ecx, dword [0x434244]
cdq
idiv dword [ecx*4 + 0xa6a500]
imul ecx, ecx, 0xbb8
add edx, ecx
lea eax, [edx + edx*4]
lea ecx, [eax*8 + 0xa2de00]
push ecx
push ebx
call fcn.00423280
add esp, 8
call fcn.004233a5
cdq
mov ecx, 0x1f4
idiv ecx
mov dword [esi + 0x433d60], edi
add edx, 0x32
mov dword [esi + 0x433d10], edx
call fcn.004233a5
cdq
mov ecx, 0x32
idiv ecx
lea eax, [edx - 0x2d]
cmp eax, ebp
mov dword [esi + 0x432c18], eax
jge 0x4024ec
mov dword [esi + 0x432c18], ebp
add edi, 2
add ebx, 0xc8
add esi, 4
cmp edi, ebp
jl 0x402481
push ebp
push 0x433dd0
push 0x343c04
push 0xffffff
push 0x238
push 0xf
call fcn.004098b0
mov edx, dword [0x432d68]
inc edx
push edx
lea eax, [esp + 0x44]
push 0x42c370
push eax
mov word [0x433dd0], bp
call fcn.004231fe
mov edx, dword [0x4596d8]
add esp, 0x24
push ebp
push 0x42c368
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x432d68]
imul ecx, ecx, 0x46
mov eax, 0x3e8
sub eax, ecx
mov dword [0x42f040], eax
jns 0x40256e
mov dword [0x42f040], ebp
mov ebx, 1
xor eax, eax
cmp ebx, ebp
mov ecx, 0x32
mov edi, 0x433dd0
rep stosd dword es:[edi], eax
je 0x402591
call fcn.00401a10
jmp 0x402591
call fcn.00405ca0
call fcn.0041f580
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
mov ebx, dword [esp + 0x18]
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
call esi
mov ecx, dword [0x42f040]
sub eax, ebx
cmp eax, ecx
ja 0x402600
cmp dword [0x432c14], 1
jne 0x4025de
call esi
fild dword [0x42f040]
mov esi, eax
sub esi, ebx
fmul qword [0x42c360]
call fcn.004232f4
cmp esi, eax
ja 0x402600
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [0x432c14], 2
jne 0x4028a1
call esi
mov edx, dword [0x42f040]
sub eax, ebx
lea ecx, [edx + edx]
cmp eax, ecx
jbe 0x4028a1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0x432d70
xor ebp, ebp
mov ecx, dword [ebp + 0x433d60]
inc ecx
mov eax, ecx
cmp eax, 0x13
mov dword [ebp + 0x433d60], ecx
jle 0x402875
xor eax, eax
mov edi, edi
mov ecx, dword [eax*8 + 0x433ea4]
test ecx, ecx
je 0x402643
inc eax
cmp eax, 0x64
jl 0x402630
jmp 0x40265b
mov edx, dword [ebp + 0x433d10]
mov dword [eax*8 + 0x433ea4], 3
mov dword [eax*8 + 0x433ea0], edx
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
inc ecx
dec esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x10], esi
call fcn.004233a5
mov ecx, dword [0x434244]
cdq
idiv dword [ecx*4 + 0xa6a500]
imul ecx, ecx, 0xbb8
mov edi, dword [esp + 0x1c]
add edx, ecx
lea eax, [edx + edx*4]
lea ecx, [eax*8 + 0xa2de00]
push ecx
push edi
call fcn.00423280
add esp, 8
test esi, esi
jl 0x402732
call fcn.004233a5
cdq
mov ecx, 0x1f4
idiv ecx
add edx, 0x32
mov dword [ebp + 0x433d10], edx
call fcn.004233a5
cdq
mov ecx, 0x32
idiv ecx
lea eax, [edx - 0x2d]
test eax, eax
mov dword [ebp + 0x432c18], eax
jge 0x4026e2
mov dword [ebp + 0x432c18], 0
xor eax, eax
mov ecx, 0x433d64
lea esp, [esp]
mov edx, dword [ecx - 4]
cmp eax, edx
jle 0x4026f9
mov eax, edx
mov edx, dword [ecx]
cmp eax, edx
jle 0x402701
mov eax, edx
mov edx, dword [ecx + 4]
cmp eax, edx
jle 0x40270a
mov eax, edx
mov edx, dword [ecx + 8]
cmp eax, edx
jle 0x402713
mov eax, edx
mov edx, dword [ecx + 0xc]
cmp eax, edx
jle 0x40271c
mov eax, edx
add ecx, 0x14
cmp ecx, 0x433db4
jl 0x4026f0
add eax, 0xfffffffe
mov dword [ebp + 0x433d60], eax
jmp 0x402741
mov word [edi], 0
mov dword [ebp + 0x433d60], 0xffffff9c
dec dword [0x42f044]
js 0x4028ea
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
add eax, edx
cmp eax, 0x1e
jl 0x402875
mov eax, dword [0x432d68]
xor esi, esi
inc eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x54], esi
mov dword [0x432d68], eax
mov edi, 0xffffffd8
mov ebx, 0x432d70
mov dword [esp + 0x10], 0xa
call fcn.004233a5
mov ecx, dword [0x434244]
cdq
idiv dword [ecx*4 + 0xa6a500]
imul ecx, ecx, 0xbb8
add edx, ecx
lea ecx, [edx + edx*4]
lea edx, [ecx*8 + 0xa2de00]
push edx
push ebx
call fcn.00423280
add esp, 8
call fcn.004233a5
cdq
mov ecx, 0x1f4
idiv ecx
mov dword [esi + 0x433d60], edi
add edx, 0x32
mov dword [esi + 0x433d10], edx
call fcn.004233a5
cdq
mov ecx, 0x32
idiv ecx
lea eax, [edx - 0x2d]
test eax, eax
mov dword [esi + 0x432c18], eax
jge 0x4027f6
mov dword [esi + 0x432c18], 0
add edi, 2
add ebx, 0xc8
add esi, 4
test edi, edi
jl 0x402787
xor esi, esi
push esi
push 0x433dd0
push 0xffffff
push 0x238
push 0xf
call fcn.00409740
mov edx, dword [0x432d68]
inc edx
push edx
lea eax, [esp + 0x40]
push 0x42c370
push eax
mov word [0x433dd0], si
call fcn.004231fe
mov edx, dword [0x4596d8]
add esp, 0x20
push esi
push 0x42c368
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x432d68]
imul ecx, ecx, 0x46
mov eax, 0x3e8
sub eax, ecx
mov dword [0x42f040], eax
jns 0x402875
mov dword [0x42f040], esi
mov eax, dword [esp + 0x1c]
add eax, 0xc8
add ebp, 4
cmp eax, 0x433d10
mov dword [esp + 0x1c], eax
jl 0x402614
call fcn.00401a10
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
mov ebx, dword [esp + 0x18]
xor ebp, ebp
cmp dword [0xc27124], ebp
je 0x401fc5
mov eax, dword [0x4596d8]
push 0x113
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4327a0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov ecx, dword [0x4596d8]
push 0x113
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4327a0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov edx, dword [0x4596d8]
push 0x113
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4327a0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret