Example #1
0
        // Token: 0x060009A4 RID: 2468 RVA: 0x0003C458 File Offset: 0x0003A658
        public virtual int dmethod_1696(byte[] byteDizi_0, int sayıInt_0, int sayıInt_1)
        {
            if (this.field_3 == this.field_2)
            {
                return(0);
            }
            for (long num = this.field_3; num < Math.Min(this.field_3 + (long)sayıInt_1, this.field_2); num += 16L)
            {
                if (this.field_7.Contains(num))
                {
                    if (num != 0L)
                    {
                        this.gmethod_1703(this.field_9);
                    }
                    for (int i = 0; i < 8; i++)
                    {
                        this.field_11[i]     = this.field_1[i];
                        this.field_11[i + 8] = this.field_1[i];
                    }
                }
                this.tmethod_1702();
                byte[] array  = new byte[16];
                byte[] array2 = new byte[array.Length];
                int    num2   = this.field_5.Read(array, 0, array.Length);
                if (num2 != array.Length)
                {
                    num2 += this.field_5.Read(array, num2, array.Length - num2);
                }
                byte[] array3 = new byte[16];
                Array.Copy(this.field_1, array3, 8);
                Array.Copy(this.field_8, 0, array3, 8, 8);
                byte[] array4 = Class_223.cmethod_1474(array3, this.field_9);
                for (int j = 0; j < num2; j++)
                {
                    array2[j] = (array4[j] ^ array[j]);
                    byte[] array5 = this.field_11;
                    int    num3   = j;
                    array5[num3] ^= ((this.field_6 == Class_249.NClass_0.field_2) ? array[j] : array2[j]);
                }
                Array.Copy(array2, 0, byteDizi_0, (int)((long)sayıInt_0 + num - this.field_3), (int)Math.Min((long)array2.Length, this.field_2 - num));
                this.field_11 = Class_223.cmethod_1474(this.field_11, this.field_9);
            }
            long num4 = Math.Min((long)sayıInt_1, this.field_2 - this.field_3);

            this.field_3 += num4;
            if (this.field_3 == this.field_2)
            {
                this.gmethod_1703(this.field_9);
                for (int k = 0; k < 4; k++)
                {
                    this.field_4[k]     = (this.field_12[k] ^ this.field_12[k + 4]);
                    this.field_4[k + 4] = (this.field_12[k + 8] ^ this.field_12[k + 12]);
                }
                this.xmethod_1701();
            }
            return((int)num4);
        }
Example #2
0
 // Token: 0x060009AB RID: 2475 RVA: 0x0003C730 File Offset: 0x0003A930
 private void gmethod_1703(ICryptoTransform arg_0)
 {
     for (int i = 0; i < 16; i++)
     {
         byte[] array = this.field_12;
         int    num   = i;
         array[num] ^= this.field_11[i];
     }
     this.field_12 = Class_223.cmethod_1474(this.field_12, arg_0);
 }
Example #3
0
 // Token: 0x0600086E RID: 2158 RVA: 0x00039690 File Offset: 0x00037890
 public static byte[] smethod_1470(byte[] byteDizi_0, byte[] byteDizi_1)
 {
     byte[] array = new byte[byteDizi_0.Length];
     using (ICryptoTransform cryptoTransform = Class_223.gmethod_1473(byteDizi_1))
     {
         for (int i = 0; i < byteDizi_0.Length; i += 16)
         {
             Array.Copy(Class_223.cmethod_1474(byteDizi_0.CopySubArray(16, i), cryptoTransform), 0, array, i, 16);
         }
     }
     return(array);
 }
Example #4
0
 // Token: 0x060008F0 RID: 2288 RVA: 0x0003AE34 File Offset: 0x00039034
 private static string vmethod_1575(string str_0, byte[] byteDizi_0)
 {
     byte[] array  = str_0.ToBytes();
     byte[] array2 = new byte[16];
     for (int i = 0; i < array.Length; i++)
     {
         byte[] array3 = array2;
         int    num    = i % 16;
         array3[num] ^= array[i];
     }
     using (ICryptoTransform cryptoTransform = Class_223.gmethod_1473(byteDizi_0))
     {
         for (int j = 0; j < 16384; j++)
         {
             array2 = Class_223.cmethod_1474(array2, cryptoTransform);
         }
     }
     byte[] array4 = new byte[8];
     Array.Copy(array2, 0, array4, 0, 4);
     Array.Copy(array2, 8, array4, 4, 4);
     return(array4.ToBase64());
 }