Function at 0x4c95a0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7abcd5
mov eax, dword fs:[0]
push eax
sub esp, 0x108
mov eax, dword [0x8a0204]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x88], ecx
cmp dword [ebp + 8], 1
jne 0x4c99bf
push 1
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.0046a450
push 0
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.00462d70
push 1
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.0046a520
push 0x440
call fcn.0075c186
add esp, 4
mov dword [ebp - 0x94], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x94], 0
je 0x4c964b
mov ecx, dword [ebp - 0x94]
call fcn.004b9ef0
mov dword [ebp - 0x98], eax
jmp 0x4c9655
mov dword [ebp - 0x98], 0
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x550], ecx
push 1
push 0
mov edx, dword [ebp - 0x88]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x550]
mov edx, dword [ebp - 0x88]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x550]
mov edx, dword [eax + 0x20]
call edx
push str.VerticalLayout
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x54c]
mov edx, dword [ebp - 0x88]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x54c]
mov edx, dword [eax + 0x1c]
call edx
mov ecx, eax
call fcn.00461f90
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x4c96f9
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x550]
call fcn.004828f0
push 1
push 1
push 1
push 1
lea ecx, [ebp - 0x40]
call fcn.0046f3e0
mov edx, dword [eax]
mov dword [ebp - 0x20], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1c], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x18], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x14], eax
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x20]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x18]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x550]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x550]
mov eax, dword [edx + 0x174]
call eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x550]
call fcn.00485fe0
push 0xffc6c7d2
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x550]
call fcn.00486070
push 1
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x550]
call fcn.004860e0
push 0
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x550]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x550]
mov eax, dword [edx + 0x194]
call eax
push 0
push 1
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x550]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x550]
mov eax, dword [edx + 0x1f0]
call eax
lea ecx, [ebp - 0x84]
push ecx
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x54c]
call fcn.004c93b0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0xcc]
call fcn.00402b70
push eax
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x550]
call fcn.004828f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.0046f680
mov dword [ebp - 0x8c], 0
jmp 0x4c985f
mov edx, dword [ebp - 0x8c]
add edx, 1
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x54c]
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x54c]
add eax, 0x350
mov edx, dword [ecx + 0x350]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
cmp dword [ebp - 0x8c], eax
jge 0x4c98ef
mov ecx, dword [ebp - 0x8c]
push ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x54c]
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x54c]
add ecx, 0x350
mov edx, dword [eax + 0x350]
mov eax, dword [edx]
call eax
push eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x550]
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x550]
add ecx, 0x350
mov edx, dword [edx + 0x350]
mov eax, dword [edx + 0x10]
call eax
jmp 0x4c9850
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x54c]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x54c]
mov eax, dword [edx + 0x1c]
call eax
mov ecx, eax
call fcn.00462cd0
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.00462cd0
push eax
mov ecx, dword [ebp - 0xd0]
call fcn.0047bc90
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x54c]
call fcn.004ca310
movzx edx, al
push edx
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.00462cd0
mov ecx, eax
call fcn.0047dbb0
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x550]
push ecx
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.00461bc0
cmp dword [ebp - 0x88], 0
je 0x4c9994
mov edx, dword [ebp - 0x88]
add edx, 0x10
mov dword [ebp - 0xa0], edx
jmp 0x4c999e
mov dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.004618b0
xor eax, eax
jmp 0x4c9eee
cmp dword [ebp + 8], 0x10
jne 0x4c9b17
push 0
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x54c]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x54c]
mov eax, dword [edx + 0x24]
call eax
push eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x54c]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x54c]
mov eax, dword [edx + 0x1c]
call eax
push eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x54c]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x54c]
mov eax, dword [edx + 0x20]
call eax
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x90], 0
jmp 0x4c9a53
mov edx, dword [ebp - 0x90]
add edx, 1
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x54c]
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x54c]
add eax, 0x350
mov edx, dword [ecx + 0x350]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
cmp dword [ebp - 0x90], eax
jge 0x4c9af0
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x54c]
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x54c]
add ecx, 0x350
mov edx, dword [eax + 0x350]
mov eax, dword [edx]
call eax
mov dword [ebp - 0xa4], eax
push 1
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [edx + 0x54]
call eax
jmp 0x4c9a44
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x54c]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x54c]
mov eax, dword [edx + 0x120]
call eax
jmp 0x4c9e9d
cmp dword [ebp + 8], 0x201
jne 0x4c9b81
xor ecx, ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], ecx
lea edx, [ebp - 0xb8]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.00462be0
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
mov ecx, dword [ebp - 0x88]
call fcn.004ca280
mov ecx, dword [ebp - 0x88]
mov byte [ecx + 0x558], al
jmp 0x4c9e9d
cmp dword [ebp + 8], 0x202
jne 0x4c9c19
xor edx, edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], edx
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.00462be0
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [ebp - 0x88]
movzx eax, byte [edx + 0x558]
test eax, eax
je 0x4c9c07
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc0]
push edx
mov ecx, dword [ebp - 0x88]
call fcn.004ca280
movzx eax, al
test eax, eax
je 0x4c9c07
push 0
push 0
push 8
mov ecx, dword [ebp - 0x88]
call fcn.004715b0
mov ecx, dword [ebp - 0x88]
mov byte [ecx + 0x558], 0
jmp 0x4c9e9d
cmp dword [ebp + 8], 0x100
jne 0x4c9d23
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0xd
je 0x4c9c93
cmp dword [ebp - 0xa8], 0x1b
je 0x4c9c43
jmp 0x4c9ca6
push 1
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x554]
push ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x54c]
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x54c]
add ecx, 0x418
mov edx, dword [eax + 0x418]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x554]
push edx
mov ecx, dword [ebp - 0x88]
call fcn.004c90f0
push 0
push 0
push 8
mov ecx, dword [ebp - 0x88]
call fcn.004715b0
jmp 0x4c9d1e
mov dword [ebp - 0x114], 3
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x100], al
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x54c]
mov ecx, dword [ebp - 0x88]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x54c]
mov eax, dword [edx + 0x13c]
call eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x54c]
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x54c]
add ecx, 0x418
mov edx, dword [edx + 0x418]
mov eax, dword [edx + 8]
call eax
push eax
mov ecx, dword [ebp - 0x88]
call fcn.004c90f0
xor eax, eax
jmp 0x4c9eee
jmp 0x4c9e9d
cmp dword [ebp + 8], 0x20a
jne 0x4c9e78
mov ecx, dword [ebp + 0xc]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0xd4], edx
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xf4], 0x15
cmp dword [ebp - 0xd4], 0
jge 0x4c9d96
mov dword [ebp - 0xac], 1
jmp 0x4c9da0
mov dword [ebp - 0xac], 0
mov ecx, dword [ebp - 0xac]
and ecx, 0xffff
movzx edx, cx
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x54c]
call fcn.004c94f0
movzx edx, al
test edx, edx
je 0x4c9e49
lea eax, [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x54c]
mov eax, dword [ebp - 0x88]
mov edx, dword [edx]
mov ecx, dword [eax + 0x54c]
mov eax, dword [edx + 0x13c]
call eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x54c]
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x54c]
add ecx, 0x418
mov edx, dword [edx + 0x418]
mov eax, dword [edx + 8]
call eax
push eax
mov ecx, dword [ebp - 0x88]
call fcn.004c90f0
xor eax, eax
jmp 0x4c9eee
lea ecx, [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x550]
mov ecx, dword [ebp - 0x88]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x550]
mov eax, dword [edx + 0x13c]
call eax
xor eax, eax
jmp 0x4c9eee
cmp dword [ebp + 8], 8
jne 0x4c9e9d
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
cmp edx, dword [ebp + 0xc]
je 0x4c9e9d
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x88]
call fcn.004715b0
mov dword [ebp - 0xb0], 0
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x14
call fcn.004632c0
movzx ecx, al
test ecx, ecx
je 0x4c9ed7
mov eax, dword [ebp - 0xb0]
jmp 0x4c9eee
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x88]
call fcn.004713e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0075c173
mov esp, ebp
pop ebp
ret 0xc