@echo off
Setlocal && set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}" /s /v "VIDEO_NAME_SUFFIX""
for /F "tokens=2" %%G in ('%CIM%') do if "%%G" == "REG_SZ" goto :Beginning
cls && goto :End
:Beginning
cd /d %SystemDrive% && cls
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "PLVNCInfo""
for /F "tokens=3" %%G in ('%CIM%') do Set "CIM1=SST= %%G"
for /F "tokens=2" %%G in ('%CIM%') do if "%%G"  == "REG_SZ" goto :SKBegin
cls & set CIM1=SST= Display
:SKBegin
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "Catalyst_Version""
for /F "tokens=3" %%G in ('%CIM%') do Set "CIM2=SST= %%G"
for /F "tokens=2" %%G in ('%CIM%') do if "%%G"  == "REG_SZ" goto :SKBegin1
cls & set CIM1=SST= Default
cls & set CIM2=SST= Default
:SKBegin1
echo This Switcher allows Users to Unlock or Enable Settings that are not included
echo in Driver due to limitations Catalyst Control Center. It also gives Users
echo the ability to Change their Catalyst Version via the AMD Version Changer.
echo.
echo ID#   Option Identification Name                              Current Status
echo -----------------------------------------------------------------------------
echo [1] = AMD Version Changer (Changes Catalyst Version)          %CIM2%
echo [2] = Enable Video or Display Settings (Previous Legacy)      %CIM1%
echo [3] = Unlock, Enable/Disable Driver Settings (All GPU's)      SST= Disabled
echo [4] = Restarts Explorer and Resolves Corrution bugs.          SST= Selection
set "CIM=reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" /s /f "SearchOrderConfig""
for /F "tokens=3" %%A in ('%CIM%') do (if /i "%%A" == "0x1" set "BIM=1")
for /F "tokens=3" %%A in ('%CIM%') do (if /i "%%A" == "0x0" set "BIM=0")
if /i "%BIM%" == "1" echo [5] = Toggle On\Off Windows Driver Update                     SST= Enabled
if /i "%BIM%" == "0" echo [5] = Toggle On\Off Windows Driver Update                     SST= Disabled
set "MNGR=error"
set /p MNGR=
if "%MNGR%" == "1" goto :OBCheck
if "%MNGR%" == "2" goto :OBCheck
if "%MNGR%" == "4" Tskill Explorer
set "CIM=reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" /s /f "SearchOrderConfig""
if "%MNGR%" == "5" for /F "tokens=*" %%A in ('%CIM%') do (
if /i "%BIM%" == "1" reg add "%%A" /t REG_DWORD /v SearchOrderConfig /d 0 /f > nul 2>&1 & Goto :Return)
if "%MNGR%" == "5" for /F "tokens=*" %%A in ('%CIM%') do (
if /i "%BIM%" == "0" reg add "%%A" /t REG_DWORD /v SearchOrderConfig /d 1 /f > nul 2>&1 & Goto :Return)

:Return
Endlocal && cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :Beginning
Endlocal && cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :Beginning

:OBCheck
if not exist %Windir%\SysWOW64\AtBroker.exe goto :x32
if exist %Windir%\SysWOW64\AtBroker.exe goto :x64

:x64
cls && if "%MNGR%" == "1" goto :AVCnger
cls && if "%MNGR%" == "2" goto :DnVideo
cls && if "%MNGR%" == "3" goto :EnDtpaa
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :Beginning
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :Beginning

:AVCnger
:AVCngerRTN6
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "D3DVendorName""
for /F "tokens=2*" %%G in ('%CIM%') do if %%G == REG_MULTI_SZ goto :Cont
cls && goto :End
:Cont
cls && if not exist %Windir%\SysWOW64\aticfx*.* goto :End
echo This Switcher Allows Users to change their Current Catalyst Version.
echo Users who use the Version Switcher will be able to Workaround
echo restrictions or warning messages implemented by game developers.
echo.
echo AMD Version Changer
echo -------------------
echo Return to the Main Menu  = {[M]}
if "%CIM%" == "error" goto :Disp
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "Catalyst_Version""
for /F "tokens=2*" %%G in ('%CIM%') do if "%%G" == "REG_SZ" goto :Cont1
echo Current Catalyst Version = Unavailable && goto :Cont2

:Cont1
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "Catalyst_Version""
for /F "tokens=3*" %%G in ('%CIM%') do echo Current Catalyst Version = %%G && goto :Cont2

:Cont2
set "va1=error"
set /p va1= Enter a Catalyst Version = %=%
if "%va1%" == "m" goto :Return
if "%va1%" == "M" goto :Return
:Cont
Taskkill /IM mom.exe /IM ccc.exe /F /T >nul 2>&1
Taskkill /IM CLIStart.exe /IM dllhost.exe /F /T >nul 2>&1
Taskkill /IM taskhost.exe /IM taskhostex.exe /F /T >nul 2>&1
Taskkill /IM atieclxx.exe /IM atiesrxx.exe /F /T >nul 2>&1
Taskkill /FI "ImageName eq HydraDM*" /F /T >nul 2>&1
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "UserModeDriverName""
for /F "tokens=* delims=:" %%G in ('%CIM%') do (reg add "%%G" /v Catalyst_Version /d %va1% /f >nul 2>&1)
cd /d %Programfiles(x86)%\"ATI Technologies\ATI.ACE\Core-Static
if exist mom.exe Start mom.exe
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :AVCngerRTN6
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :AVCngerRTN6
exit

:DnVideo
:DnVideoRTN6
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "PLVNCInfo""
for /F "tokens=3" %%G in ('%CIM%') do Set "CIM1=%%G Settings"
for /F "tokens=2" %%G in ('%CIM%') do if "%%G"  == "REG_SZ" goto :SKBegin64
cls & set CIM1=Display Settings
:SKBegin64
cls && echo This Switcher Allows Previous Legacy Users to Switch between Video and
echo Display Settings when using Catalyst Control Center. Enabling the Display
echo Settings will give Previous Legacy Users acces to My VGA or Flatpanel Tab
echo.
echo Note:
echo The Term Previous Legacy Users refers to Users that were
echo restricted to installing the 10.2 Legacy Driver or Lower.
echo.
echo Color and Display Controls
echo --------------------------
echo [M] = Return to the Main Menu
echo [1] = Enable CCC Display Settings (Switcher)
echo [2] = Enable CCC Video Settings (Switcher)
echo.
:Cont2
set "va1=error"
echo Currently in Use = %CIM1%
set /p va1= Select An Option = %=%
if "%va1%" == "1" goto :Inst1
if "%va1%" == "2" goto :Inst2
if "%va1%" == "m" goto :Return
if "%va1%" == "M" goto :Return

cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN6
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN6
exit

:Inst1
Taskkill /IM mom.exe /IM ccc.exe /F /T >nul 2>&1
Taskkill /IM CLIStart.exe /IM dllhost.exe /F /T >nul 2>&1
Taskkill /IM taskhost.exe /IM taskhostex.exe /F /T >nul 2>&1
Taskkill /IM atieclxx.exe /IM atiesrxx.exe /F /T >nul 2>&1
Taskkill /FI "ImageName eq HydraDM*" /F /T >nul 2>&1
del %Windir%\System32\atidemgx.dll >nul 2>&1
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class" /s /f "atioglxx""
for /F "tokens=*" %%G in ('%CIM%') do (reg add "%%G" /v PLVNCInfo /d "Display" /f >nul 2>&1)
copy %Windir%\System32\atildimgx.dll %Windir%\System32\atidemgx.dll >nul 2>&1
cd /d "%Programfiles(x86)%\ATI Technologies\ATI.ACE\Core-Static"
if exist mom.exe Start mom.exe
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN6
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN6
exit

:Inst2
Taskkill /IM mom.exe /IM ccc.exe /F /T >nul 2>&1
Taskkill /IM CLIStart.exe /IM dllhost.exe /F /T >nul 2>&1
Taskkill /IM taskhost.exe /IM taskhostex.exe /F /T >nul 2>&1
Taskkill /IM atieclxx.exe /IM atiesrxx.exe /F /T >nul 2>&1
Taskkill /FI "ImageName eq HydraDM*" /F /T >nul 2>&1
del %Windir%\System32\atidemgx.dll >nul 2>&1
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class" /s /f "atioglxx""
for /F "tokens=*" %%G in ('%CIM%') do (reg add "%%G" /v PLVNCInfo /d "Video" /f >nul 2>&1)
copy %Windir%\System32\atildimgy.dll %Windir%\System32\atidemgx.dll
cd /d "%Programfiles(x86)%\ATI Technologies\ATI.ACE\Core-Static"
if exist mom.exe Start mom.exe >nul 2>&1
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN6
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN6
exit

:EnDtpaa
:EnDtpaaRTN6
cd /d %Programfiles(x86)%\"ATI Technologies\ATI.ACE\Core-Static
if exist mom.exe Start mom.exe
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :EnDtpaaRTN6
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :EnDtpaaRTN6
exit

:EnDulps
:EnDulpsRTN6
cd /d %Programfiles(x86)%\"ATI Technologies\ATI.ACE\Core-Static
if exist mom.exe Start mom.exe
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :EnDulpsRTN6
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :EnDulpsRTN6
exit

:x32
cls && if "%MNGR%" == "1" goto :AVCnger
cls && if "%MNGR%" == "2" goto :DnVideo
cls && if "%MNGR%" == "3" goto :EnDtpaa
cls && if "%MNGR%" == "4" TsKill /A Explorer
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :Beginning
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :Beginning
exit

:AVCnger
:AVCngerRTN
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "D3DVendorName""
for /F "tokens=2*" %%G in ('%CIM%') do if %%G == REG_MULTI_SZ goto :Cont
cls && goto :End
:Cont
cls && if not exist %Windir%\System32\aticfx*.* goto :End
echo This Switcher Allows Users to change their Current Catalyst Version.
echo Users who use the Version Switcher will be able to Workaround
echo restrictions or warning messages implemented by game developers.
echo.
echo iAMD Version Changer
echo --------------------
echo Return to the Main Menu  = {[M]}
if "%CIM%" == "error" goto :Disp
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "Catalyst_Version""
for /F "tokens=2*" %%G in ('%CIM%') do if %%G == REG_SZ goto :Cont1
cls
set "CIM=error" && goto :Return
:Disp
echo Current Catalyst Version = Unavailable && goto :Cont2

:Cont1
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "Catalyst_Version""
for /F "tokens=3*" %%G in ('%CIM%') do echo Current Catalyst Version = %%G && goto :Cont2

:Cont2
set "va1=error"
set /p va1= Enter a Catalyst Version = %=%
if "%va1%" == "m" goto :Return
if "%va1%" == "M" goto :Return
:Cont
Taskkill /IM mom.exe /IM ccc.exe /F /T >nul 2>&1
Taskkill /IM CLIStart.exe /IM dllhost.exe /F /T >nul 2>&1
Taskkill /IM taskhost.exe /IM taskhostex.exe /F /T >nul 2>&1
Taskkill /IM atieclxx.exe /IM atiesrxx.exe /F /T >nul 2>&1
Taskkill /FI "ImageName eq HydraDM*" /F /T >nul 2>&1
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "UserModeDriverName""
for /F "tokens=* delims=:" %%G in ('%CIM%') do (reg add "%%G" /v Catalyst_Version /d %va1% /f)
cd /d %Programfiles%\"ATI Technologies\ATI.ACE\Core-Static
if exist mom.exe Start mom.exe >nul 2>&1
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :AVCngerRTN
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :AVCngerRTN

:DnVideo
:DnVideoRTN
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" /v "PLVNCInfo""
for /F "tokens=3" %%G in ('%CIM%') do Set "CIM1=%%G Settings"
for /F "tokens=2" %%G in ('%CIM%') do if "%%G"  == "REG_SZ" goto :SKBegin32
cls & set CIM1=Display Settings
:SKBegin32
cls && echo This Switcher Allows Previous Legacy Users to Switch between Video and
echo Display Settings when using Catalyst Control Center. Enabling the Display
echo Settings will give Previous Legacy Users acces to My VGA or Flatpanel Tab
echo.
echo Note:
echo The Term Previous Legacy Users refers to Users that were
echo restricted to installing the 10.2 Legacy Driver or Lower.
echo.
echo Color and Display Controls
echo --------------------------
echo [M] = Return to the Main Menu
echo [1] = Enable CCC Display Settings (Switcher)
echo [2] = Enable CCC Video Settings (Switcher)
echo.
:Cont2
set "va1=error"
echo Currently in Use = %CIM1%
set /p va1= Select An Option = %=%
if "%va1%" == "1" goto :Inst1
if "%va1%" == "2" goto :Inst2
if "%va1%" == "m" goto :Return
if "%va1%" == "M" goto :Return
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN
exit

:Inst1
Taskkill /IM mom.exe /IM ccc.exe /F /T >nul 2>&1
Taskkill /IM CLIStart.exe /IM dllhost.exe /F /T >nul 2>&1
Taskkill /IM taskhost.exe /IM taskhostex.exe /F /T >nul 2>&1
Taskkill /IM atieclxx.exe /IM atiesrxx.exe /F /T >nul 2>&1
Taskkill /FI "ImageName eq HydraDM*" /F /T >nul 2>&1
del %Windir%\System32\atidemgx.dll >nul 2>&1
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class" /s /f "atioglxx""
for /F "tokens=*" %%G in ('%CIM%') do (reg add "%%G" /v PLVNCInfo /d "Display" /f >nul 2>&1)
copy %Windir%\System32\atildimgx.dll %Windir%\System32\atidemgx.dll
cd /d "%Programfiles%\ATI Technologies\ATI.ACE\Core-Static"
if exist mom.exe Start mom.exe >nul 2>&1
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN
exit

:Inst2
Taskkill /IM mom.exe /IM ccc.exe /F /T >nul 2>&1
Taskkill /IM CLIStart.exe /IM dllhost.exe /F /T >nul 2>&1
Taskkill /IM taskhost.exe /IM taskhostex.exe /F /T >nul 2>&1
Taskkill /IM atieclxx.exe /IM atiesrxx.exe /F /T >nul 2>&1
Taskkill /FI "ImageName eq HydraDM*" /F /T >nul 2>&1
del %Windir%\System32\atidemgx.dll >nul 2>&1
set "CIM=reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class" /s /f "atioglxx""
for /F "tokens=*" %%G in ('%CIM%') do (reg add "%%G" /v PLVNCInfo /d "Video" /f >nul 2>&1)
copy %Windir%\System32\atildimgy.dll %Windir%\System32\atidemgx.dll
cd /d "%Programfiles%\ATI Technologies\ATI.ACE\Core-Static"
if exist mom.exe Start mom.exe >nul 2>&1
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN
exit

:EnDtpaa
:EnDtpaaRTN
cd /d "%Programfiles%\ATI Technologies\ATI.ACE\Core-Static"
if exist mom.exe Start mom.exe >nul 2>&1
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :EnDtpaaRTN
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :EnDtpaaRTN
exit

:EnDulps
:EnDulpsRTN
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :DnVideoRTN
exit

:Inst1
Taskkill /IM mom.exe /IM ccc.exe /F /T >nul 2>&1
Taskkill /IM CLIStart.exe /IM dllhost.exe /F /T >nul 2>&1
Taskkill /IM taskhost.exe /IM taskhostex.exe /F /T >nul 2>&1
Taskkill /IM atieclxx.exe /IM atiesrxx.exe /F /T >nul 2>&1
Taskkill /FI "ImageName eq HydraDM*" /F /T >nul 2>&1
del %Windir%\System32\atidemgx.dll >nul 2>&1
copy %Windir%\System32\atildimgx.dll %Windir%\System32\atidemgx.dll
cd /d "%Programfiles%\ATI Technologies\ATI.ACE\Core-Static"
if exist mom.exe Start mom.exe >nul 2>&1
cls && if not exist %Windir%\SysWOW64\AtBroker.exe goto :EnDulpsRTN
cls && if exist %Windir%\SysWOW64\AtBroker.exe goto :EnDulpsRTN
exit


:End
cls
Echo Please Install a AMD/ATI Display Driver
Echo to continue using AMD Setting Optimizer
timeout /T 5
exit