// Token: 0x060029CB RID: 10699 RVA: 0x000A03FC File Offset: 0x0009E5FC
        internal static void smethod_1(string initialVector, Stream source, Stream destination)
        {
            byte[] array  = new byte[56];
            byte[] array2 = new byte[40];
            byte[] array3 = new byte[16];
            source.Read(array, 0, 56);
            array = Class470.smethod_3(array);
            Array.Copy(array, 0, array2, 0, 40);
            Array.Copy(array, 40, array3, 0, 16);
            ASCIIEncoding asciiencoding = new ASCIIEncoding();

            byte[] bytes = asciiencoding.GetBytes(initialVector);
            using (PasswordDeriveBytes passwordDeriveBytes = new PasswordDeriveBytes(array2, array3, Class470.string_0, Class470.int_1))
            {
                byte[] bytes2 = passwordDeriveBytes.GetBytes(Class470.int_0 / 8);
                using (RijndaelManaged rijndaelManaged = new RijndaelManaged())
                {
                    rijndaelManaged.Mode = CipherMode.CBC;
                    using (ICryptoTransform cryptoTransform = rijndaelManaged.CreateDecryptor(bytes2, bytes))
                    {
                        using (CryptoStream cryptoStream = new CryptoStream(source, cryptoTransform, CryptoStreamMode.Read))
                        {
                            cryptoStream.CopyTo(destination);
                        }
                    }
                    rijndaelManaged.Clear();
                }
            }
        }
        // Token: 0x060029CA RID: 10698 RVA: 0x000A02B8 File Offset: 0x0009E4B8
        internal static void smethod_0(string initialVector, Stream source, Stream destination)
        {
            byte[] array = new byte[40];
            Class124.Instance.method_7(array);
            ASCIIEncoding asciiencoding = new ASCIIEncoding();

            byte[] bytes  = asciiencoding.GetBytes(initialVector);
            byte[] array2 = new byte[16];
            Class124.Instance.method_7(array2);
            byte[] array3 = new byte[array.Length + array2.Length];
            Array.Copy(array, 0, array3, 0, 40);
            Array.Copy(array2, 0, array3, 40, 16);
            array3 = Class470.smethod_2(array3);
            destination.Write(array3, 0, array3.Length);
            using (PasswordDeriveBytes passwordDeriveBytes = new PasswordDeriveBytes(array, array2, Class470.string_0, Class470.int_1))
            {
                byte[] bytes2 = passwordDeriveBytes.GetBytes(Class470.int_0 / 8);
                using (RijndaelManaged rijndaelManaged = new RijndaelManaged())
                {
                    rijndaelManaged.Mode = CipherMode.CBC;
                    using (ICryptoTransform cryptoTransform = rijndaelManaged.CreateEncryptor(bytes2, bytes))
                    {
                        using (CryptoStream cryptoStream = new CryptoStream(destination, cryptoTransform, CryptoStreamMode.Write))
                        {
                            source.CopyTo(cryptoStream);
                        }
                    }
                    rijndaelManaged.Clear();
                }
            }
        }
        // Token: 0x06002A6D RID: 10861 RVA: 0x000A42F0 File Offset: 0x000A24F0
        public static bool smethod_1()
        {
            bool result;

            lock (Class110.object_0)
            {
                try
                {
                    string text = Path.Combine(Class291.CommonApplicationDataDirectory, Guid.NewGuid().ToString() + ".tmp");
                    using (MemoryStream memoryStream = new MemoryStream())
                    {
                        Class110.Instance.method_2(memoryStream);
                        memoryStream.Position = 0L;
                        using (Stream stream = File.Open(text, FileMode.Create, FileAccess.Write, FileShare.None))
                        {
                            Class470.smethod_0(Class110.string_0, memoryStream, stream);
                        }
                    }
                    Class234.smethod_14(text, Class291.string_15, true);
                    result = true;
                }
                catch (Exception ex)
                {
                    ex.smethod_1(new object[]
                    {
                        Class291.string_15
                    });
                    DialogBox.smethod_7(ex, Class291.string_15);
                    result = false;
                }
            }
            return(result);
        }
        // Token: 0x06002A6C RID: 10860 RVA: 0x000A4234 File Offset: 0x000A2434
        private static Class110 smethod_0()
        {
            if (File.Exists(Class291.string_15))
            {
                Class110 result;
                try
                {
                    using (Stream stream = File.Open(Class291.string_15, FileMode.Open, FileAccess.Read, FileShare.None))
                    {
                        using (MemoryStream memoryStream = new MemoryStream())
                        {
                            Class470.smethod_1(Class110.string_0, stream, memoryStream);
                            memoryStream.Position = 0L;
                            result = new Class110(memoryStream);
                        }
                    }
                }
                catch (Exception ex)
                {
                    ex.smethod_1(new object[]
                    {
                        Class291.string_15
                    });
                    DialogBox.smethod_7(ex, Class291.string_15);
                    goto IL_81;
                }
                return(result);
            }
IL_81:
            return(new Class110());
        }
 // Token: 0x060029CD RID: 10701 RVA: 0x000A0564 File Offset: 0x0009E764
 private static byte[] smethod_3(byte[] data)
 {
     if (data.Length % 2 != 0)
     {
         throw new ArgumentException();
     }
     byte[] array = Class470.smethod_6(Class470.smethod_4(Class470.smethod_5(data)));
     Array.Reverse(array);
     return(array);
 }
 // Token: 0x060029CC RID: 10700 RVA: 0x000A0520 File Offset: 0x0009E720
 private static byte[] smethod_2(byte[] data)
 {
     if (data.Length % 2 != 0)
     {
         throw new ArgumentException();
     }
     byte[] array = new byte[data.Length];
     data.CopyTo(array, 0);
     Array.Reverse(array);
     return(Class470.smethod_5(Class470.smethod_4(Class470.smethod_6(array))));
 }