// 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 \u000E;
using \u0090;
using System;
using System.Runtime.InteropServices;

namespace \u0001\u0002
{
  internal class \u0002\u0002
  {
    private uint[] \u0001;

    protected byte \u0097\u0003()
    {
      uint num = (uint) ((int) this.\u0001[2] & (int) ushort.MaxValue | 2);
      return (byte) (num * (num ^ 1U) >> 8);
    }

    protected void \u0098\u0003([In] byte[] obj0)
    {
      if (obj0 == null)
        throw new ArgumentNullException(\u0008.\u000E\u0003(868));
      if (obj0.Length != 12)
        throw new InvalidOperationException(\u0008.\u000E\u0003(881));
      this.\u0001 = new uint[3];
      this.\u0001[0] = (uint) ((int) obj0[3] << 24 | (int) obj0[2] << 16 | (int) obj0[1] << 8) | (uint) obj0[0];
      this.\u0001[1] = (uint) ((int) obj0[7] << 24 | (int) obj0[6] << 16 | (int) obj0[5] << 8) | (uint) obj0[4];
      this.\u0001[2] = (uint) ((int) obj0[11] << 24 | (int) obj0[10] << 16 | (int) obj0[9] << 8) | (uint) obj0[8];
    }

    protected void \u0099\u0003([In] byte obj0)
    {
      this.\u0001[0] = \u0091.\u008A\u0003(this.\u0001[0], obj0);
      this.\u0001[1] = this.\u0001[1] + (uint) (byte) this.\u0001[0];
      this.\u0001[1] = (uint) ((int) this.\u0001[1] * 134775813 + 1);
      this.\u0001[2] = \u0091.\u008A\u0003(this.\u0001[2], (byte) (this.\u0001[1] >> 24));
    }

    protected void Reset()
    {
      this.\u0001[0] = 0U;
      this.\u0001[1] = 0U;
      this.\u0001[2] = 0U;
    }
  }
}
