Function at 0x4123d0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov eax, dword [0xa6d408]
sub esp, 0x634
push ebx
push ebp
push esi
push edi
push 0xff00
push 0xb4
xor ebx, ebx
push 0xbe
push eax
mov dword [0x453388], ebx
mov dword [0x45338c], ebx
mov byte [0x452f70], bl
mov word [0x453070], bx
call fcn.00406210
mov eax, dword [0xc270d4]
push 0xff00
push 0xe0
lea ecx, [eax + eax*2]
mov edx, dword [ecx*4 + 0x908e20]
push 0x1c7
push edx
call fcn.00406210
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add esp, 0x20
push 0xe
lea eax, [esp + 0x11c]
push eax
push 0xffffffffffffffff
push 0x42c72c
push 2
push ebx
mov dword [0x908dd0], 0x412250
call esi
push 7
lea ecx, [esp + 0x180]
push ecx
push 0xffffffffffffffff
push 0x42c600
push 2
push ebx
call esi
push 7
lea edx, [esp + 0x1e4]
push edx
push 0xffffffffffffffff
push 0x42c704
push 2
push ebx
call esi
mov eax, dword [0x4341ec]
push 0x42c2bc
push ebx
push 0x48
push 0x5a
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xc
call dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
call fcn.00405ec0
lea ecx, [esp + 0x124]
push ecx
call fcn.004231e8
push eax
lea edx, [esp + 0x12c]
push edx
push ebx
push 0xc1
push 0x155
call fcn.00405f70
lea eax, [esp + 0x13c]
push eax
call fcn.004231e8
push eax
lea ecx, [esp + 0x144]
push ecx
push ebx
push 0xc0
push 0x154
call fcn.00405f70
lea edx, [esp + 0x1b8]
push edx
push 0x186
push 0x198
call fcn.004069a0
add esp, 0x48
lea eax, [esp + 0x1e0]
push eax
push 0x186
push 0x208
call fcn.004069a0
lea ecx, [esp + 0x24]
push 0x42c650
push ecx
call fcn.004231fe
lea eax, [esp + 0x2c]
add esp, 0x14
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x412543
sub eax, ecx
push eax
lea edx, [esp + 0x248]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
push 2
push ebx
call esi
lea ecx, [esp + 0x444]
push 0xc270e8
push ecx
call fcn.00423280
lea edx, [esp + 0x24c]
push edx
lea eax, [esp + 0x450]
push eax
call fcn.00423256
lea ecx, [esp + 0x454]
push ecx
push 0xf4
push 0xd2
call fcn.004069a0
mov edi, dword [esp + 0x668]
mov edx, dword [esp + 0x664]
add edx, edi
push edx
lea eax, [esp + 0x38]
push 0x42c71c
push eax
call fcn.004231fe
lea eax, [esp + 0x40]
add esp, 0x28
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4125d0
sub eax, ecx
push eax
lea ecx, [esp + 0x248]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x24]
push edx
push 2
push ebx
call esi
lea eax, [esp + 0x244]
push eax
push 0x118
push 0xd2
call fcn.004069a0
push edi
lea ecx, [esp + 0x28]
push 0x42c70c
push ecx
call fcn.004231fe
lea eax, [esp + 0x30]
add esp, 0x18
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x412620
sub eax, ecx
push eax
lea edx, [esp + 0x248]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
push 2
push ebx
call esi
lea ecx, [esp + 0x244]
push ecx
push 0x12a
push 0xd2
call fcn.004069a0
mov edx, dword [esp + 0x65c]
push edx
lea eax, [esp + 0x28]
push 0x42c630
push eax
call fcn.004231fe
lea eax, [esp + 0x30]
add esp, 0x18
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x412676
sub eax, ecx
push eax
lea ecx, [esp + 0x248]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x24]
push edx
push 2
push ebx
call esi
lea eax, [esp + 0x244]
push eax
push 0x13c
push 0xd2
call fcn.004069a0
mov eax, dword [esp + 0x660]
cdq
mov ecx, 0xea60
idiv ecx
mov ecx, eax
mov eax, 0x10624dd3
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
lea ecx, [esp + 0x2c]
push 0x42c618
push ecx
call fcn.004231fe
lea eax, [esp + 0x34]
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4126e8
sub eax, ecx
push eax
lea edx, [esp + 0x248]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
push 2
push ebx
call esi
lea ecx, [esp + 0x244]
push ecx
push 0x14e
push 0xd2
call fcn.004069a0
add esp, 0xc
call fcn.00405f40
mov esi, dword [sym.imp.USER32.dll_GetCursorPos]
mov edi, dword [sym.imp.USER32.dll_ScreenToClient]
mov ebp, 1
jmp case.0x412765.1
cmp dword [0xc27124], ebp
je case.0x412765.27
call fcn.00405ca0
call fcn.0041f360
add eax, 3
cmp eax, 0x23
ja case.0x412765.1
movzx edx, byte [eax + 0x4128c8]
jmp dword [edx*4 + 0x4128b0]
mov ecx, dword [0x453390]
xor eax, eax
cmp ecx, ebx
sete al
mov dword [0x453390], eax
jmp case.0x412765.1
lea ecx, [esp + 0x10]
push ecx
call esi
mov eax, dword [0x4596d8]
lea edx, [esp + 0x10]
push edx
push eax
call edi
mov eax, dword [esp + 0x10]
cmp eax, 0x181
mov ecx, dword [esp + 0x14]
jle 0x4127be
cmp ecx, 0x183
jle 0x4127be
cmp eax, 0x1e6
jge 0x4127be
cmp ecx, 0x19b
jl 0x412889
cmp eax, 0x1f1
jle 0x4127e0
cmp ecx, 0x183
jle 0x4127e0
cmp eax, 0x257
jge 0x4127e0
cmp ecx, 0x19b
jl case.0x412765.27
mov dword [0x453388], ebx
mov dword [0x45338c], ebx
jmp case.0x412765.1
lea ecx, [esp + 0x10]
push ecx
call esi
mov eax, dword [0x4596d8]
lea edx, [esp + 0x10]
push edx
push eax
call edi
mov eax, dword [esp + 0x10]
cmp eax, 0x181
mov ecx, dword [esp + 0x14]
jle 0x41283e
cmp ecx, 0x183
jle 0x41283e
cmp eax, 0x1e6
jge 0x41283e
cmp ecx, 0x19b
jge 0x41283e
mov dword [0x453388], ebp
call fcn.00405ca0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp eax, 0x1f1
jle case.0x412765.1
cmp ecx, 0x183
jle case.0x412765.1
cmp eax, 0x257
jge case.0x412765.1
cmp ecx, 0x19b
jge case.0x412765.1
mov dword [0x45338c], ebp
call fcn.00405ca0
jmp case.0x412765.1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x634
ret
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x634
ret
mov ecx, dword [0x453390]
pop edi
pop esi
xor eax, eax
cmp ecx, ebx
pop ebp
sete al
pop ebx
add esp, 0x634
ret