namespace PixelSecurity.Core.SecuredTypes
{

	// [TypeInfo RVA: 0x0]
	public sealed class SecuredString : Object
	{
		private static string _cryptoKey; // 0x0
		private string currentCryptoKey; // 0x10
		private System.Byte[] hiddenValue; // 0x18
		private string fakeValue; // 0x20
		private bool inited; // 0x28

		// RVA: 0x32A72C4 VA: 0x78189922C4
		private void .ctor();
		/*
		 *   return;
		 */
		// RVA: 0x32A72CC VA: 0x78189922CC
		private void .ctor(System.Byte[] value);
		/*
		 *   undefined *puVar1;
		 *   long lVar2;
		 *
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aed5 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aed5 = 1;
		 *   }
		 *   System.Object..ctor(this);
		 *   lVar2 = *(long *)puVar1;
		 *   if (*(int *)(lVar2 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *     lVar2 = *(long *)puVar1;
		 *   }
		 *   this.currentCryptoKey = (void *)**(undefined8 **)(lVar2 + 0xb8);
		 *   func_0x031fdc38();
		 *   this.hiddenValue = value;
		 *   func_0x031fdc38(&this.hiddenValue,value);
		 *   this.fakeValue = null;
		 *   func_0x031fdc38(&this.fakeValue,0);
		 *   this.inited = true;
		 *   return;
		 */
		// RVA: 0x32A7374 VA: 0x7818992374
		public static void SetCryptoKey(string newKey);
		/*
		 *   undefined *puVar1;
		 *   long lVar2;
		 *   void *extraout_x1;
		 *
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aed6 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aed6 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   lVar2 = *(long *)puVar1;
		 *   if (*(int *)(lVar2 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar2,methodInfo);
		 *     lVar2 = *(long *)puVar1;
		 *   }
		 *   **(undefined8 **)(lVar2 + 0xb8) = newKey;
		 *   if (iRam00000000077785f0 != 0) {
		 *     func_0x032ed0c0(1L << (*(ulong *)(*(long *)puVar1 + 0xb8) >> 0xc & 0x3f),
		 *                     (*(ulong *)(*(long *)puVar1 + 0xb8) >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *   }
		 *   return;
		 */
		// RVA: 0x32A73DC VA: 0x78189923DC
		public void ApplyNewCryptoKey();
		/*
		 *   undefined *puVar1;
		 *   bool bVar2;
		 *   long lVar3;
		 *   void *value;
		 *   void *extraout_x1;
		 *   void *methodInfo_00;
		 *   void *extraout_x1_00;
		 *   void *extraout_x1_01;
		 *   void **ppvVar4;
		 *   void *pvVar5;
		 *
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aed7 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aed7 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   lVar3 = *(long *)puVar1;
		 *   pvVar5 = this.currentCryptoKey;
		 *   if (*(int *)(lVar3 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar3,methodInfo);
		 *     lVar3 = *(long *)puVar1;
		 *   }
		 *   bVar2 = System.String.op_Inequality(pvVar5,(void *)**(undefined8 **)(lVar3 + 0xb8));
		 *   if (bVar2) {
		 *     value = SecuredString.InternalDecrypt(this);
		 *     pvVar5 = extraout_x1_00;
		 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *       func_0x031fde08(*(long *)puVar1);
		 *       pvVar5 = extraout_x1_01;
		 *     }
		 *     pvVar5 = SecuredString.InternalEncrypt(value);
		 *     ppvVar4 = &this.hiddenValue;
		 *     *ppvVar4 = pvVar5;
		 *     if (iRam00000000077785f0 != 0) {
		 *       func_0x032ed0c0(1L << ((ulong)ppvVar4 >> 0xc & 0x3f),
		 *                       ((ulong)ppvVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *     }
		 *     return;
		 *   }
		 *   return;
		 */
		// RVA: 0x32A7710 VA: 0x7818992710
		public static string EncryptDecrypt(string value);
		/*
		 *   long lVar1;
		 *   uint uVar2;
		 *   int iVar3;
		 *   int iVar4;
		 *   int index;
		 *   undefined *puVar5;
		 *   undefined *puVar6;
		 *   bool bVar7;
		 *   ushort uVar8;
		 *   ushort uVar9;
		 *   long lVar10;
		 *   void *extraout_x1;
		 *   void *pvVar11;
		 *   ulong uVar12;
		 *
		 *   puVar6 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aed8 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     func_0x031fdc8c(PTR_DAT_070c0df0);
		 *     bRam000000000754aed8 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar5 = PTR_DAT_070c0df0;
		 *   if (*(int *)(*(long *)puVar6 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar6,methodInfo);
		 *   }
		 *   pvVar11 = *(void **)puVar5;
		 *   if ((bRam000000000754aed9 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c0de0);
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     func_0x031fdc8c(PTR_DAT_070c0df0);
		 *     bRam000000000754aed9 = 1;
		 *   }
		 *   bVar7 = System.String.IsNullOrEmpty(value);
		 *   if (bVar7) {
		 *     return *(void **)PTR_DAT_070c0df0;
		 *   }
		 *   bVar7 = System.String.IsNullOrEmpty(pvVar11);
		 *   puVar6 = PTR_DAT_070c65f0;
		 *   if (bVar7) {
		 *     lVar10 = *(long *)PTR_DAT_070c65f0;
		 *     if (*(int *)(lVar10 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *       lVar10 = *(long *)puVar6;
		 *     }
		 *     pvVar11 = (void *)**(undefined8 **)(lVar10 + 0xb8);
		 *   }
		 *   if ((pvVar11 != null) && (value != null)) {
		 *     uVar2 = *(uint *)((long)value + 0x10);
		 *     iVar3 = *(int *)((long)pvVar11 + 0x10);
		 *     lVar10 = func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0de0,(ulong)uVar2);
		 *     if (0 < (int)uVar2) {
		 *       uVar12 = 0;
		 *       do {
		 *         index = (int)uVar12;
		 *         uVar8 = System.String.get_Chars(value,index);
		 *         iVar4 = 0;
		 *         if (iVar3 != 0) {
		 *           iVar4 = index / iVar3;
		 *         }
		 *         uVar9 = System.String.get_Chars(pvVar11,index - iVar4 * iVar3);
		 *         if (lVar10 == 0) goto LAB_0339ac34;
		 *         if (*(uint *)(lVar10 + 0x18) <= uVar12) {
		 *           IL2CPP.ThrowIndexOutOfRangeException();
		 *         }
		 *         *(ushort *)(lVar10 + 0x20 + uVar12 * 2) = uVar9 ^ uVar8;
		 *         uVar12 = uVar12 + 1;
		 *       } while (uVar2 != uVar12);
		 *     }
		 *     if ((lVar10 == 0) || (*(long *)(lVar10 + 0x18) == 0)) {
		 *       pvVar11 = (void *)**(long **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
		 *     }
		 *     else {
		 *       pvVar11 = (void *)func_0x03214b40(*(long *)(lVar10 + 0x18),lVar10,0);
		 *       if (pvVar11 == null) {
		 *         IL2CPP.ThrowNullReferenceException();
		 *       }
		 *       lVar1 = 0;
		 *       if (*(int *)(lVar10 + 0x18) != 0) {
		 *         lVar1 = lVar10 + 0x20;
		 *       }
		 *       System.Linq.Buffer.Memmove((long)pvVar11 + 0x14,lVar1,*(int *)(lVar10 + 0x18) << 1);
		 *     }
		 *     return pvVar11;
		 *   }
		 * LAB_0339ac34:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x329AAD0 VA: 0x7818985AD0
		public static string EncryptDecrypt(string value, string key);
		/*
		 *   long lVar1;
		 *   uint uVar2;
		 *   int iVar3;
		 *   int iVar4;
		 *   int index;
		 *   undefined *puVar5;
		 *   bool bVar6;
		 *   ushort uVar7;
		 *   ushort uVar8;
		 *   long lVar9;
		 *   void *pvVar10;
		 *   ulong uVar11;
		 *
		 *   if ((bRam000000000754aed9 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c0de0);
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     func_0x031fdc8c(PTR_DAT_070c0df0);
		 *     bRam000000000754aed9 = 1;
		 *   }
		 *   bVar6 = System.String.IsNullOrEmpty(value);
		 *   if (bVar6) {
		 *     return *(void **)PTR_DAT_070c0df0;
		 *   }
		 *   bVar6 = System.String.IsNullOrEmpty(key);
		 *   puVar5 = PTR_DAT_070c65f0;
		 *   if (bVar6) {
		 *     lVar9 = *(long *)PTR_DAT_070c65f0;
		 *     if (*(int *)(lVar9 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *       lVar9 = *(long *)puVar5;
		 *     }
		 *     key = (void *)**(undefined8 **)(lVar9 + 0xb8);
		 *   }
		 *   if ((key != null) && (value != null)) {
		 *     uVar2 = *(uint *)((long)value + 0x10);
		 *     iVar3 = *(int *)((long)key + 0x10);
		 *     lVar9 = func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0de0,(ulong)uVar2);
		 *     if (0 < (int)uVar2) {
		 *       uVar11 = 0;
		 *       do {
		 *         index = (int)uVar11;
		 *         uVar7 = System.String.get_Chars(value,index);
		 *         iVar4 = 0;
		 *         if (iVar3 != 0) {
		 *           iVar4 = index / iVar3;
		 *         }
		 *         uVar8 = System.String.get_Chars(key,index - iVar4 * iVar3);
		 *         if (lVar9 == 0) goto LAB_0339ac34;
		 *         if (*(uint *)(lVar9 + 0x18) <= uVar11) {
		 *           IL2CPP.ThrowIndexOutOfRangeException();
		 *         }
		 *         *(ushort *)(lVar9 + 0x20 + uVar11 * 2) = uVar8 ^ uVar7;
		 *         uVar11 = uVar11 + 1;
		 *       } while (uVar2 != uVar11);
		 *     }
		 *     if ((lVar9 == 0) || (*(long *)(lVar9 + 0x18) == 0)) {
		 *       pvVar10 = (void *)**(long **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
		 *     }
		 *     else {
		 *       pvVar10 = (void *)func_0x03214b40(*(long *)(lVar9 + 0x18),lVar9,0);
		 *       if (pvVar10 == null) {
		 *         IL2CPP.ThrowNullReferenceException();
		 *       }
		 *       lVar1 = 0;
		 *       if (*(int *)(lVar9 + 0x18) != 0) {
		 *         lVar1 = lVar9 + 0x20;
		 *       }
		 *       System.Linq.Buffer.Memmove((long)pvVar10 + 0x14,lVar1,*(int *)(lVar9 + 0x18) << 1);
		 *     }
		 *     return pvVar10;
		 *   }
		 * LAB_0339ac34:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A777C VA: 0x781899277C
		public string GetEncrypted();
		/*
		 *   long lVar1;
		 *   int iVar2;
		 *   undefined *puVar3;
		 *   long lVar4;
		 *   void *extraout_x1;
		 *   void *pvVar5;
		 *
		 *   puVar3 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aeda & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aeda = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   SecuredString.ApplyNewCryptoKey(this);
		 *   pvVar5 = this.hiddenValue;
		 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   if ((bRam000000000754aee6 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c0de0);
		 *     bRam000000000754aee6 = 1;
		 *   }
		 *   if (pvVar5 != null) {
		 *     iVar2 = *(int *)((long)pvVar5 + 0x18);
		 *     if (iVar2 < 0) {
		 *       iVar2 = iVar2 + 1;
		 *     }
		 *     lVar4 = func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0de0,iVar2 >> 1);
		 *     System.Linq.Buffer.BlockCopy(pvVar5,0,lVar4,0,*(undefined4 *)((long)pvVar5 + 0x18));
		 *     if ((lVar4 == 0) || (*(long *)(lVar4 + 0x18) == 0)) {
		 *       pvVar5 = (void *)**(long **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
		 *     }
		 *     else {
		 *       pvVar5 = (void *)func_0x03214b40(*(long *)(lVar4 + 0x18),lVar4,0);
		 *       if (pvVar5 == null) {
		 *         IL2CPP.ThrowNullReferenceException();
		 *       }
		 *       lVar1 = 0;
		 *       if (*(int *)(lVar4 + 0x18) != 0) {
		 *         lVar1 = lVar4 + 0x20;
		 *       }
		 *       System.Linq.Buffer.Memmove((long)pvVar5 + 0x14,lVar1,*(int *)(lVar4 + 0x18) << 1);
		 *     }
		 *     return pvVar5;
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A7868 VA: 0x7818992868
		public void SetEncrypted(string encrypted);
		/*
		 *   undefined *puVar1;
		 *   long lVar2;
		 *   void *pvVar3;
		 *   void **ppvVar4;
		 *   void *extraout_x1;
		 *   void *extraout_x1_00;
		 *
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   pvVar3 = encrypted;
		 *   if ((bRam000000000754aedb & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6630);
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aedb = 1;
		 *     pvVar3 = extraout_x1;
		 *   }
		 *   lVar2 = *(long *)puVar1;
		 *   this.inited = true;
		 *   if (*(int *)(lVar2 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *     pvVar3 = extraout_x1_00;
		 *   }
		 *   pvVar3 = SecuredString.GetBytes(encrypted);
		 *   ppvVar4 = &this.hiddenValue;
		 *   *ppvVar4 = pvVar3;
		 *   if (iRam00000000077785f0 != 0) {
		 *     func_0x032ed0c0(1L << ((ulong)ppvVar4 >> 0xc & 0x3f),
		 *                     ((ulong)ppvVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *   }
		 *   return;
		 */
		// RVA: 0x32A76AC VA: 0x78189926AC
		private static System.Byte[] InternalEncrypt(string value);
		/*
		 *   undefined *puVar1;
		 *   long lVar2;
		 *   void *pvVar3;
		 *   void *pvVar4;
		 *   void *extraout_x1;
		 *   void *in_x2;
		 *   undefined8 in_x6;
		 *   undefined8 in_x7;
		 *   undefined8 unaff_x30;
		 *
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aedc & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aedc = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   lVar2 = *(long *)puVar1;
		 *   if (*(int *)(lVar2 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar2,methodInfo);
		 *     lVar2 = *(long *)puVar1;
		 *   }
		 *   pvVar3 = SecuredString.EncryptDecrypt(value,(void *)**(undefined8 **)(lVar2 + 0xb8));
		 *   if ((bRam000000000754aee5 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c2588);
		 *     bRam000000000754aee5 = 1;
		 *   }
		 *   if (pvVar3 != null) {
		 *     pvVar4 = (void *)func_0x031fdd78(*(undefined8 *)PTR_DAT_070c2588,
		 *                                      *(int *)((long)pvVar3 + 0x10) << 1);
		 *     pvVar3 = System.String.ToCharArray(pvVar3);
		 *     if (pvVar4 != null) {
		 *       System.Linq.Buffer.BlockCopy(pvVar3,0,pvVar4,0,*(undefined4 *)((long)pvVar4 + 0x18),0,in_x6,in_x7,unaff_x30);
		 *       return pvVar4;
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A74B4 VA: 0x78189924B4
		private string InternalDecrypt();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   bool bVar3;
		 *   long lVar4;
		 *   void *pvVar5;
		 *   void *pvVar6;
		 *   ulong uVar7;
		 *   PixelGuard *this_00;
		 *   void *extraout_x1;
		 *   void *methodInfo_00;
		 *   void *extraout_x1_00;
		 *   void *extraout_x1_01;
		 *   void *extraout_x1_02;
		 *   void *extraout_x1_03;
		 *   void *pvVar8;
		 *   void *bytes;
		 *
		 *   if ((bRam000000000754aedd & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6628);
		 *     func_0x031fdc8c(PTR_DAT_070c6630);
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     func_0x031fdc8c(PTR_DAT_070c6638);
		 *     func_0x031fdc8c(PTR_DAT_070c0df0);
		 *     bRam000000000754aedd = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar2 = PTR_DAT_070c65f0;
		 *   if (this.inited == false) {
		 *     lVar4 = *(long *)PTR_DAT_070c65f0;
		 *     if (*(int *)(lVar4 + 0xe4) == 0) {
		 *       func_0x031fde08(lVar4,methodInfo);
		 *       lVar4 = *(long *)puVar2;
		 *     }
		 *     this.currentCryptoKey = (void *)**(undefined8 **)(lVar4 + 0xb8);
		 *     func_0x031fdc38();
		 *     puVar1 = PTR_DAT_070c0df0;
		 *     pvVar5 = SecuredString.InternalEncrypt(*(void **)PTR_DAT_070c0df0);
		 *     this.hiddenValue = pvVar5;
		 *     func_0x031fdc38();
		 *     this.fakeValue = *(void **)puVar1;
		 *     func_0x031fdc38(&this.fakeValue);
		 *     this.inited = true;
		 *     methodInfo = extraout_x1_00;
		 *   }
		 *   lVar4 = *(long *)puVar2;
		 *   if (*(int *)(lVar4 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar4,methodInfo);
		 *     lVar4 = *(long *)puVar2;
		 *   }
		 *   pvVar5 = null;
		 *   pvVar8 = (void *)**(undefined8 **)(lVar4 + 0xb8);
		 *   bVar3 = System.String.op_Inequality(this.currentCryptoKey,pvVar8);
		 *   if (bVar3) {
		 *     pvVar8 = this.currentCryptoKey;
		 *   }
		 *   bVar3 = System.String.IsNullOrEmpty(pvVar8);
		 *   lVar4 = *(long *)puVar2;
		 *   pvVar6 = extraout_x1_01;
		 *   if (bVar3) {
		 *     if (*(int *)(lVar4 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *       lVar4 = *(long *)puVar2;
		 *       pvVar6 = extraout_x1_02;
		 *     }
		 *     pvVar8 = (void *)**(undefined8 **)(lVar4 + 0xb8);
		 *   }
		 *   bytes = this.hiddenValue;
		 *   if (*(int *)(lVar4 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *     pvVar6 = extraout_x1_03;
		 *   }
		 *   pvVar6 = SecuredString.GetString(bytes);
		 *   pvVar5 = SecuredString.EncryptDecrypt(pvVar6,pvVar8);
		 *   pvVar8 = PixelGuard.get_Instance();
		 *   if (pvVar8 != null) {
		 *     uVar7 = func_0x038d6228(pvVar8,*(undefined8 *)PTR_DAT_070c6630);
		 *     if ((((uVar7 & 1) != 0) &&
		 *         (bVar3 = System.String.IsNullOrEmpty(this.fakeValue), !bVar3)) &&
		 *        (bVar3 = System.String.op_Inequality(pvVar5,this.fakeValue), bVar3))
		 *     {
		 *       this_00 = PixelGuard.get_Instance();
		 *       pvVar8 = PixelGuard.get_Instance();
		 *       if ((pvVar8 == null) ||
		 *          (pvVar8 = (void *)func_0x038d5f58(pvVar8,*(undefined8 *)PTR_DAT_070c6628),
		 *          this_00 == null)) goto LAB_033a76a8;
		 *       PixelGuard.CreateSecurityWarning(this_00,*(void **)PTR_DAT_070c6638,pvVar8);
		 *     }
		 *     return pvVar5;
		 *   }
		 * LAB_033a76a8:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A79C0 VA: 0x78189929C0
		public static PixelSecurity.Core.SecuredTypes.SecuredString op_Implicit(string value);
		/*
		 *   undefined *puVar1;
		 *   void *pvVar2;
		 *   SecuredString *this;
		 *   ulong uVar3;
		 *   void *extraout_x1;
		 *   void *extraout_x1_00;
		 *   void *in_x2;
		 *
		 *   if ((bRam000000000754aede & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6630);
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aede = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if (value == null) {
		 *     this = null;
		 *   }
		 *   else {
		 *     if (*(int *)(*(long *)PTR_DAT_070c65f0 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *       methodInfo = extraout_x1_00;
		 *     }
		 *     pvVar2 = SecuredString.InternalEncrypt(value);
		 *     this = (SecuredString *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *     SecuredString..ctor(this,pvVar2);
		 *     pvVar2 = PixelGuard.get_Instance();
		 *     if (pvVar2 == null) {
		 * LAB_033a7a84:
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     uVar3 = func_0x038d6228(pvVar2,*(undefined8 *)PTR_DAT_070c6630);
		 *     if ((uVar3 & 1) != 0) {
		 *       if (this == null) goto LAB_033a7a84;
		 *       this.fakeValue = value;
		 *       func_0x031fdc38(&this.fakeValue,value);
		 *     }
		 *   }
		 *   return this;
		 */
		// RVA: 0x32A7A88 VA: 0x7818992A88
		public static string op_Implicit(PixelSecurity.Core.SecuredTypes.SecuredString value);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   bool bVar3;
		 *   long lVar4;
		 *   void *pvVar5;
		 *   void *pvVar6;
		 *   ulong uVar7;
		 *   PixelGuard *this;
		 *   void *extraout_x1;
		 *   void *methodInfo_00;
		 *   void *extraout_x1_00;
		 *   void *extraout_x1_01;
		 *   void *extraout_x1_02;
		 *   void *extraout_x1_03;
		 *   void *extraout_x1_04;
		 *   void *extraout_x1_05;
		 *   void *pvVar8;
		 *   void *bytes;
		 *
		 *   puVar2 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aedf & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aedf = 1;
		 *     methodInfo = extraout_x1_03;
		 *   }
		 *   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar2,methodInfo);
		 *     methodInfo = extraout_x1_04;
		 *   }
		 *   if ((bRam000000000754aee0 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aee0 = 1;
		 *     methodInfo = extraout_x1_05;
		 *   }
		 *   if (value == null) {
		 *     return null;
		 *   }
		 *   if ((bRam000000000754aedd & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6628);
		 *     func_0x031fdc8c(PTR_DAT_070c6630);
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     func_0x031fdc8c(PTR_DAT_070c6638);
		 *     func_0x031fdc8c(PTR_DAT_070c0df0);
		 *     bRam000000000754aedd = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar2 = PTR_DAT_070c65f0;
		 *   if (*(char *)((long)value + 0x28) == '\0') {
		 *     lVar4 = *(long *)PTR_DAT_070c65f0;
		 *     if (*(int *)(lVar4 + 0xe4) == 0) {
		 *       func_0x031fde08(lVar4,methodInfo);
		 *       lVar4 = *(long *)puVar2;
		 *     }
		 *     *(undefined8 *)((long)value + 0x10) = **(undefined8 **)(lVar4 + 0xb8);
		 *     func_0x031fdc38();
		 *     puVar1 = PTR_DAT_070c0df0;
		 *     pvVar5 = SecuredString.InternalEncrypt(*(void **)PTR_DAT_070c0df0);
		 *     *(void **)((long)value + 0x18) = pvVar5;
		 *     func_0x031fdc38();
		 *     *(undefined8 *)((long)value + 0x20) = *(undefined8 *)puVar1;
		 *     func_0x031fdc38((undefined8 *)((long)value + 0x20));
		 *     *(undefined1 *)((long)value + 0x28) = 1;
		 *   }
		 *   lVar4 = *(long *)puVar2;
		 *   if (*(int *)(lVar4 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *     lVar4 = *(long *)puVar2;
		 *   }
		 *   pvVar5 = null;
		 *   pvVar8 = (void *)**(undefined8 **)(lVar4 + 0xb8);
		 *   bVar3 = System.String.op_Inequality(*(void **)((long)value + 0x10),pvVar8)
		 *   ;
		 *   if (bVar3) {
		 *     pvVar8 = *(void **)((long)value + 0x10);
		 *   }
		 *   bVar3 = System.String.IsNullOrEmpty(pvVar8);
		 *   lVar4 = *(long *)puVar2;
		 *   pvVar6 = extraout_x1_00;
		 *   if (bVar3) {
		 *     if (*(int *)(lVar4 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *       lVar4 = *(long *)puVar2;
		 *       pvVar6 = extraout_x1_01;
		 *     }
		 *     pvVar8 = (void *)**(undefined8 **)(lVar4 + 0xb8);
		 *   }
		 *   bytes = *(void **)((long)value + 0x18);
		 *   if (*(int *)(lVar4 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *     pvVar6 = extraout_x1_02;
		 *   }
		 *   pvVar6 = SecuredString.GetString(bytes);
		 *   pvVar5 = SecuredString.EncryptDecrypt(pvVar6,pvVar8);
		 *   pvVar8 = PixelGuard.get_Instance();
		 *   if (pvVar8 != null) {
		 *     uVar7 = func_0x038d6228(pvVar8,*(undefined8 *)PTR_DAT_070c6630);
		 *     if ((((uVar7 & 1) != 0) &&
		 *         (bVar3 = System.String.IsNullOrEmpty(*(void **)((long)value + 0x20))
		 *         , !bVar3)) &&
		 *        (bVar3 = System.String.op_Inequality(pvVar5,*(void **)((long)value + 0x20)), bVar3)) {
		 *       this = PixelGuard.get_Instance();
		 *       pvVar8 = PixelGuard.get_Instance();
		 *       if ((pvVar8 == null) ||
		 *          (pvVar8 = (void *)func_0x038d5f58(pvVar8,*(undefined8 *)PTR_DAT_070c6628),
		 *          this == null)) goto LAB_033a76a8;
		 *       PixelGuard.CreateSecurityWarning(this,*(void **)PTR_DAT_070c6638,pvVar8);
		 *     }
		 *     return pvVar5;
		 *   }
		 * LAB_033a76a8:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A7B98 VA: 0x7818992B98
		public override string ToString();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   bool bVar3;
		 *   long lVar4;
		 *   void *pvVar5;
		 *   void *pvVar6;
		 *   ulong uVar7;
		 *   PixelGuard *this_00;
		 *   void *extraout_x1;
		 *   void *methodInfo_00;
		 *   void *extraout_x1_00;
		 *   void *extraout_x1_01;
		 *   void *extraout_x1_02;
		 *   void *extraout_x1_03;
		 *   void *pvVar8;
		 *   void *bytes;
		 *
		 *   if ((bRam000000000754aedd & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6628);
		 *     func_0x031fdc8c(PTR_DAT_070c6630);
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     func_0x031fdc8c(PTR_DAT_070c6638);
		 *     func_0x031fdc8c(PTR_DAT_070c0df0);
		 *     bRam000000000754aedd = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar2 = PTR_DAT_070c65f0;
		 *   if (this.inited == false) {
		 *     lVar4 = *(long *)PTR_DAT_070c65f0;
		 *     if (*(int *)(lVar4 + 0xe4) == 0) {
		 *       func_0x031fde08(lVar4,methodInfo);
		 *       lVar4 = *(long *)puVar2;
		 *     }
		 *     this.currentCryptoKey = (void *)**(undefined8 **)(lVar4 + 0xb8);
		 *     func_0x031fdc38();
		 *     puVar1 = PTR_DAT_070c0df0;
		 *     pvVar5 = SecuredString.InternalEncrypt(*(void **)PTR_DAT_070c0df0);
		 *     this.hiddenValue = pvVar5;
		 *     func_0x031fdc38();
		 *     this.fakeValue = *(void **)puVar1;
		 *     func_0x031fdc38(&this.fakeValue);
		 *     this.inited = true;
		 *     methodInfo = extraout_x1_00;
		 *   }
		 *   lVar4 = *(long *)puVar2;
		 *   if (*(int *)(lVar4 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar4,methodInfo);
		 *     lVar4 = *(long *)puVar2;
		 *   }
		 *   pvVar5 = null;
		 *   pvVar8 = (void *)**(undefined8 **)(lVar4 + 0xb8);
		 *   bVar3 = System.String.op_Inequality(this.currentCryptoKey,pvVar8);
		 *   if (bVar3) {
		 *     pvVar8 = this.currentCryptoKey;
		 *   }
		 *   bVar3 = System.String.IsNullOrEmpty(pvVar8);
		 *   lVar4 = *(long *)puVar2;
		 *   pvVar6 = extraout_x1_01;
		 *   if (bVar3) {
		 *     if (*(int *)(lVar4 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *       lVar4 = *(long *)puVar2;
		 *       pvVar6 = extraout_x1_02;
		 *     }
		 *     pvVar8 = (void *)**(undefined8 **)(lVar4 + 0xb8);
		 *   }
		 *   bytes = this.hiddenValue;
		 *   if (*(int *)(lVar4 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *     pvVar6 = extraout_x1_03;
		 *   }
		 *   pvVar6 = SecuredString.GetString(bytes);
		 *   pvVar5 = SecuredString.EncryptDecrypt(pvVar6,pvVar8);
		 *   pvVar8 = PixelGuard.get_Instance();
		 *   if (pvVar8 != null) {
		 *     uVar7 = func_0x038d6228(pvVar8,*(undefined8 *)PTR_DAT_070c6630);
		 *     if ((((uVar7 & 1) != 0) &&
		 *         (bVar3 = System.String.IsNullOrEmpty(this.fakeValue), !bVar3)) &&
		 *        (bVar3 = System.String.op_Inequality(pvVar5,this.fakeValue), bVar3))
		 *     {
		 *       this_00 = PixelGuard.get_Instance();
		 *       pvVar8 = PixelGuard.get_Instance();
		 *       if ((pvVar8 == null) ||
		 *          (pvVar8 = (void *)func_0x038d5f58(pvVar8,*(undefined8 *)PTR_DAT_070c6628),
		 *          this_00 == null)) goto LAB_033a76a8;
		 *       PixelGuard.CreateSecurityWarning(this_00,*(void **)PTR_DAT_070c6638,pvVar8);
		 *     }
		 *     return pvVar5;
		 *   }
		 * LAB_033a76a8:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A7B10 VA: 0x7818992B10
		public static bool op_Equality(PixelSecurity.Core.SecuredTypes.SecuredString a, PixelSecurity.Core.SecuredTypes.SecuredString b);
		/*
		 *   bool bVar1;
		 *   char *pcVar2;
		 *   int iVar3;
		 *   char *pcVar4;
		 *   long lVar5;
		 *   long lVar6;
		 *
		 *   if ((bRam000000000754aee0 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aee0 = 1;
		 *   }
		 *   if (a == b) {
		 *     bVar1 = true;
		 *   }
		 *   else {
		 *     bVar1 = false;
		 *     if ((a != null) && (b != null)) {
		 *       lVar6 = *(long *)((long)a + 0x18);
		 *       lVar5 = *(long *)((long)b + 0x18);
		 *       if (*(int *)(*(long *)PTR_DAT_070c65f0 + 0xe4) == 0) {
		 *         func_0x031fde08();
		 *       }
		 *       if (lVar6 == lVar5) {
		 *         return true;
		 *       }
		 *       bVar1 = false;
		 *       if ((lVar6 != 0) && (lVar5 != 0)) {
		 *         iVar3 = *(int *)(lVar6 + 0x18);
		 *         if (iVar3 != *(int *)(lVar5 + 0x18)) {
		 *           return false;
		 *         }
		 *         if (iVar3 < 1) {
		 *           return true;
		 *         }
		 *         pcVar2 = (char *)(lVar6 + 0x20);
		 *         pcVar4 = (char *)(lVar5 + 0x20);
		 *         do {
		 *           iVar3 = iVar3 + -1;
		 *           bVar1 = *pcVar2 == *pcVar4;
		 *           if (!bVar1) {
		 *             return bVar1;
		 *           }
		 *           pcVar2 = pcVar2 + 1;
		 *           pcVar4 = pcVar4 + 1;
		 *         } while (iVar3 != 0);
		 *       }
		 *       return bVar1;
		 *     }
		 *   }
		 *   return bVar1;
		 */
		// RVA: 0x32A7C08 VA: 0x7818992C08
		public static bool op_Inequality(PixelSecurity.Core.SecuredTypes.SecuredString a, PixelSecurity.Core.SecuredTypes.SecuredString b);
		/*
		 *   undefined *puVar1;
		 *   bool bVar2;
		 *
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aee1 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aee1 = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   bVar2 = SecuredString.op_Equality(a,b);
		 *   return (bool)((bVar2 ^ 0xffU) & 1);
		 */
		// RVA: 0x32A7C78 VA: 0x7818992C78
		public override bool Equals(object obj);
		/*
		 *   undefined *puVar1;
		 *   bool bVar2;
		 *   undefined1 uVar3;
		 *   long lVar4;
		 *   long *plVar5;
		 *   long *methodInfo_00;
		 *   long *extraout_x1;
		 *   void *bytes;
		 *
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aee2 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aee2 = 1;
		 *   }
		 *   lVar4 = *(long *)puVar1;
		 *   if ((obj != null) && (*(long *)obj != lVar4)) {
		 *     obj = null;
		 *   }
		 *   if (*(int *)(lVar4 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   bVar2 = SecuredString.op_Inequality(obj,null);
		 *   methodInfo_00 = null;
		 *   if (bVar2) {
		 *     if (obj == null) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     bytes = *(void **)((long)obj + 0x18);
		 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *       methodInfo_00 = extraout_x1;
		 *     }
		 *     methodInfo_00 = SecuredString.GetString(bytes);
		 *   }
		 *   plVar5 = this.hiddenValue;
		 *   if (plVar5 == methodInfo_00) {
		 *     bVar2 = true;
		 *   }
		 *   else {
		 *     bVar2 = false;
		 *     if ((plVar5 != null) && (methodInfo_00 != null)) {
		 *       uVar3 = (**(code **)(*plVar5 + 0x138))(plVar5,methodInfo_00,*(undefined8 *)(*plVar5 + 0x140));
		 *       return (bool)uVar3;
		 *     }
		 *   }
		 *   return bVar2;
		 */
		// RVA: 0x32A7D28 VA: 0x7818992D28
		public bool Equals(PixelSecurity.Core.SecuredTypes.SecuredString value);
		/*
		 *   undefined *puVar1;
		 *   bool bVar2;
		 *   char *pcVar3;
		 *   int iVar4;
		 *   char *pcVar5;
		 *   void *pvVar6;
		 *   void *pvVar7;
		 *
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aee3 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aee3 = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   bVar2 = SecuredString.op_Inequality(value,null);
		 *   pvVar7 = null;
		 *   if (bVar2) {
		 *     if (value == null) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     pvVar7 = *(void **)((long)value + 0x18);
		 *   }
		 *   pvVar6 = this.hiddenValue;
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   if (pvVar6 == pvVar7) {
		 *     return true;
		 *   }
		 *   bVar2 = false;
		 *   if ((pvVar6 != null) && (pvVar7 != null)) {
		 *     iVar4 = *(int *)((long)pvVar6 + 0x18);
		 *     if (iVar4 != *(int *)((long)pvVar7 + 0x18)) {
		 *       return false;
		 *     }
		 *     if (iVar4 < 1) {
		 *       return true;
		 *     }
		 *     pcVar3 = (char *)((long)pvVar6 + 0x20);
		 *     pcVar5 = (char *)((long)pvVar7 + 0x20);
		 *     do {
		 *       iVar4 = iVar4 + -1;
		 *       bVar2 = *pcVar3 == *pcVar5;
		 *       if (!bVar2) {
		 *         return bVar2;
		 *       }
		 *       pcVar3 = pcVar3 + 1;
		 *       pcVar5 = pcVar5 + 1;
		 *     } while (iVar4 != 0);
		 *   }
		 *   return bVar2;
		 */
		// RVA: 0x32A7DC0 VA: 0x7818992DC0
		public bool Equals(PixelSecurity.Core.SecuredTypes.SecuredString value, System.StringComparison comparisonType);
		/*
		 *   long lVar1;
		 *   undefined *puVar2;
		 *   bool bVar3;
		 *   int iVar4;
		 *   void *pvVar5;
		 *   long lVar6;
		 *   long *plVar7;
		 *   void *pvVar8;
		 *   ulong uVar9;
		 *   ulong uVar10;
		 *   void *methodInfo_00;
		 *   void *extraout_x1;
		 *   undefined8 uVar11;
		 *   void *pvVar12;
		 *
		 *   puVar2 = PTR_DAT_070c65f0;
		 *   pvVar8 = (void *)(ulong)(uint)comparisonType;
		 *   pvVar5 = pvVar8;
		 *   if ((bRam000000000754aee4 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     bRam000000000754aee4 = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   bVar3 = SecuredString.op_Inequality(value,null);
		 *   pvVar12 = null;
		 *   pvVar5 = methodInfo_00;
		 *   if (bVar3) {
		 *     if (value == null) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     pvVar12 = SecuredString.InternalDecrypt(value);
		 *     pvVar5 = extraout_x1;
		 *   }
		 *   pvVar5 = SecuredString.InternalDecrypt(this);
		 *   if ((bRam0000000007550907 & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_CompareInfo_6FDC2E0,pvVar12,pvVar8,0);
		 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_CultureInfo_6FC2940);
		 *     bRam0000000007550907 = 1;
		 *   }
		 *   puVar2 = typeinfo_ptr_mscorlib_CompareInfo_6FDC2E0;
		 *   if (pvVar5 == pvVar12) {
		 *     if (5 < (uint)comparisonType) {
		 *       ThrowHelper.ThrowArgumentException(0x31,0x2f);
		 *     }
		 *     return true;
		 *   }
		 *   if ((pvVar5 == null) || (pvVar12 == null)) {
		 *     if ((uint)comparisonType < 6) {
		 *       return false;
		 *     }
		 *     ThrowHelper.ThrowArgumentException(0x31,0x2f);
		 *     return false;
		 *   }
		 *   if (comparisonType < 3) {
		 *     if (comparisonType == 0) {
		 *       if (*(int *)(*(long *)typeinfo_ptr_mscorlib_CultureInfo_6FC2940 + 0xe4) == 0) {
		 *         func_0x031fde08();
		 *       }
		 *       plVar7 = System.Globalization.CultureInfo.get_CurrentCulture();
		 *       if (plVar7 == null) goto LAB_05577d34;
		 *       plVar7 = (long *)(**(code **)(*plVar7 + 0x1f8))(plVar7,*(undefined8 *)(*plVar7 + 0x200));
		 *     }
		 *     else {
		 *       if (comparisonType == 1) {
		 *         if (*(int *)(*(long *)typeinfo_ptr_mscorlib_CultureInfo_6FC2940 + 0xe4) == 0) {
		 *           func_0x031fde08();
		 *         }
		 *         plVar7 = System.Globalization.CultureInfo.get_CurrentCulture();
		 *         if (plVar7 == null) goto LAB_05577d34;
		 *         plVar7 = (long *)(**(code **)(*plVar7 + 0x1f8))(plVar7,*(undefined8 *)(*plVar7 + 0x200));
		 *         goto joined_r0x05577d00;
		 *       }
		 *       if (comparisonType != 2) goto LAB_05577d38;
		 *       lVar6 = *(long *)typeinfo_ptr_mscorlib_CompareInfo_6FDC2E0;
		 *       if (*(int *)(lVar6 + 0xe4) == 0) {
		 *         func_0x031fde08();
		 *         lVar6 = *(long *)puVar2;
		 *       }
		 *       plVar7 = (long *)**(long **)(lVar6 + 0xb8);
		 *     }
		 *     if (plVar7 == null) {
		 * LAB_05577d34:
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     lVar6 = *plVar7;
		 *     uVar11 = 0;
		 *   }
		 *   else {
		 *     if (comparisonType != 3) {
		 *       if (comparisonType == 4) {
		 *         iVar4 = *(int *)((long)pvVar5 + 0x10);
		 *         if (iVar4 != *(int *)((long)pvVar12 + 0x10)) {
		 *           return false;
		 *         }
		 *         lVar6 = (long)pvVar5 + 0x14;
		 *         lVar1 = (long)pvVar12 + 0x14;
		 *         if (lVar6 != lVar1) {
		 *           pvVar5 = System.IntPtr.op_Explicit(0);
		 *           pvVar8 = (void *)System.IntPtr.op_Explicit((long)iVar4 << 1);
		 *           uVar9 = System.IntPtr.op_Explicit(pvVar8);
		 *           if (7 < uVar9) {
		 *             pvVar8 = System.IntPtr.op_Subtraction(pvVar8,8);
		 *             while( true ) {
		 *               uVar9 = System.IntPtr.op_Explicit(pvVar8);
		 *               uVar10 = System.IntPtr.op_Explicit(pvVar5);
		 *               if (uVar9 <= uVar10) {
		 *                 return *(long *)(lVar6 + (long)pvVar8) == *(long *)(lVar1 + (long)pvVar8);
		 *               }
		 *               bVar3 = System.UIntPtr.op_Inequality(*(void **)(lVar6 + (long)pvVar5),*(void **)(lVar1 + (long)pvVar5));
		 *               if (bVar3) break;
		 *               pvVar5 = System.IntPtr.op_Addition(pvVar5,8);
		 *             }
		 *             return false;
		 *           }
		 *           uVar9 = System.IntPtr.op_Explicit(pvVar8);
		 *           uVar10 = System.IntPtr.op_Explicit(pvVar5);
		 *           if (uVar10 < uVar9) {
		 *             do {
		 *               bVar3 = *(char *)(lVar6 + (long)pvVar5) == *(char *)(lVar1 + (long)pvVar5);
		 *               if (!bVar3) {
		 *                 return bVar3;
		 *               }
		 *               pvVar5 = System.IntPtr.op_Addition(pvVar5,1);
		 *               uVar9 = System.IntPtr.op_Explicit(pvVar8);
		 *               uVar10 = System.IntPtr.op_Explicit(pvVar5);
		 *             } while (uVar10 < uVar9);
		 *             return bVar3;
		 *           }
		 *         }
		 *         return true;
		 *       }
		 *       if (comparisonType != 5) {
		 * LAB_05577d38:
		 *         func_0x031fdca0(PTR_DAT_070c6fb0);
		 *         pvVar5 = (void *)func_0x031fdf24();
		 *         pvVar8 = (void *)func_0x031fdca0(PTR_DAT_070dc2e8);
		 *         pvVar12 = (void *)func_0x031fdca0(PTR_DAT_070dc2f0);
		 *         System.ArgumentException..ctor(pvVar5,pvVar8,pvVar12);
		 *         uVar11 = func_0x031fdca0(PTR_DAT_070dc370);
		 *         IL2CPP.ThrowManagedException();
		 *       }
		 *       iVar4 = *(int *)((long)pvVar5 + 0x10);
		 *       if (iVar4 != *(int *)((long)pvVar12 + 0x10)) {
		 *         return false;
		 *       }
		 *       if (*(int *)(*(long *)typeinfo_ptr_mscorlib_CompareInfo_6FDC2E0 + 0xe4) == 0) {
		 *         func_0x031fde08();
		 *       }
		 *       iVar4 = System.Globalization.CompareInfo.CompareOrdinalIgnoreCase(pvVar5,0,iVar4,pvVar12,0,iVar4);
		 *       goto LAB_05577d1c;
		 *     }
		 *     lVar6 = *(long *)typeinfo_ptr_mscorlib_CompareInfo_6FDC2E0;
		 *     if (*(int *)(lVar6 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *       lVar6 = *(long *)puVar2;
		 *     }
		 *     plVar7 = (long *)**(long **)(lVar6 + 0xb8);
		 * joined_r0x05577d00:
		 *     if (plVar7 == null) goto LAB_05577d34;
		 *     lVar6 = *plVar7;
		 *     uVar11 = 1;
		 *   }
		 *   iVar4 = (**(code **)(lVar6 + 0x1a8))(plVar7,pvVar5,pvVar12,uVar11,*(undefined8 *)(lVar6 + 0x1b0));
		 * LAB_05577d1c:
		 *   return iVar4 == 0;
		 */
		// RVA: 0x32A7E5C VA: 0x7818992E5C
		public override int GetHashCode();
		/*
		 *   int iVar1;
		 *   long *plVar2;
		 *
		 *   plVar2 = SecuredString.InternalDecrypt(this);
		 *   if (plVar2 != null) {
		 *     iVar1 = (**(code **)(*plVar2 + 0x158))(plVar2,*(undefined8 *)(*plVar2 + 0x160));
		 *     return iVar1;
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A7938 VA: 0x7818992938
		private static System.Byte[] GetBytes(string str);
		/*
		 *   void *pvVar1;
		 *   void *pvVar2;
		 *
		 *   if ((bRam000000000754aee5 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c2588);
		 *     bRam000000000754aee5 = 1;
		 *   }
		 *   if (str != null) {
		 *     pvVar1 = (void *)func_0x031fdd78(*(undefined8 *)PTR_DAT_070c2588,*(int *)((long)str + 0x10) << 1
		 *                                     );
		 *     pvVar2 = System.String.ToCharArray(str);
		 *     if (pvVar1 != null) {
		 *       System.Linq.Buffer.BlockCopy(pvVar2,0,pvVar1,0,*(undefined4 *)((long)pvVar1 + 0x18));
		 *       return pvVar1;
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A77DC VA: 0x78189927DC
		private static string GetString(System.Byte[] bytes);
		/*
		 *   long lVar1;
		 *   int iVar2;
		 *   long lVar3;
		 *   void *pvVar4;
		 *   undefined1 auVar5 [16];
		 *
		 *   auVar5._8_8_ = methodInfo;
		 *   auVar5._0_8_ = bytes;
		 *   if ((bRam000000000754aee6 & 1) == 0) {
		 *     auVar5 = func_0x031fdc8c(PTR_DAT_070c0de0);
		 *     bRam000000000754aee6 = 1;
		 *   }
		 *   if (bytes != null) {
		 *     iVar2 = *(int *)((long)bytes + 0x18);
		 *     if (iVar2 < 0) {
		 *       iVar2 = iVar2 + 1;
		 *     }
		 *     lVar3 = func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0de0,iVar2 >> 1);
		 *     System.Linq.Buffer.BlockCopy(bytes,0,lVar3,0,*(undefined4 *)((long)bytes + 0x18));
		 *     if ((lVar3 == 0) || (*(long *)(lVar3 + 0x18) == 0)) {
		 *       pvVar4 = (void *)**(long **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
		 *     }
		 *     else {
		 *       pvVar4 = (void *)func_0x03214b40(*(long *)(lVar3 + 0x18),lVar3,0);
		 *       if (pvVar4 == null) {
		 *         IL2CPP.ThrowNullReferenceException();
		 *       }
		 *       lVar1 = 0;
		 *       if (*(int *)(lVar3 + 0x18) != 0) {
		 *         lVar1 = lVar3 + 0x20;
		 *       }
		 *       System.Linq.Buffer.Memmove((long)pvVar4 + 0x14,lVar1,*(int *)(lVar3 + 0x18) << 1);
		 *     }
		 *     return pvVar4;
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32A7B9C VA: 0x7818992B9C
		private static bool ArraysEquals(System.Byte[] a1, System.Byte[] a2);
		/*
		 *   bool bVar1;
		 *   char *pcVar2;
		 *   int iVar3;
		 *   char *pcVar4;
		 *
		 *   if (a1 == a2) {
		 *     return true;
		 *   }
		 *   bVar1 = false;
		 *   if ((a1 != null) && (a2 != null)) {
		 *     iVar3 = *(int *)((long)a1 + 0x18);
		 *     if (iVar3 != *(int *)((long)a2 + 0x18)) {
		 *       return false;
		 *     }
		 *     if (iVar3 < 1) {
		 *       return true;
		 *     }
		 *     pcVar2 = (char *)((long)a1 + 0x20);
		 *     pcVar4 = (char *)((long)a2 + 0x20);
		 *     do {
		 *       iVar3 = iVar3 + -1;
		 *       bVar1 = *pcVar2 == *pcVar4;
		 *       if (!bVar1) {
		 *         return bVar1;
		 *       }
		 *       pcVar2 = pcVar2 + 1;
		 *       pcVar4 = pcVar4 + 1;
		 *     } while (iVar3 != 0);
		 *   }
		 *   return bVar1;
		 */
		// RVA: 0x32A7E7C VA: 0x7818992E7C
		private static void .cctor();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   ulong uVar3;
		 *
		 *   puVar2 = PTR_DAT_070c66e8;
		 *   puVar1 = PTR_DAT_070c65f0;
		 *   if ((bRam000000000754aee7 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c65f0);
		 *     func_0x031fdc8c(PTR_DAT_070c66e8);
		 *     bRam000000000754aee7 = 1;
		 *   }
		 *   **(undefined8 **)(*(long *)puVar1 + 0xb8) = *(undefined8 *)puVar2;
		 *   uVar3 = *(ulong *)(*(long *)puVar1 + 0xb8);
		 *   if (iRam00000000077785f0 != 0) {
		 *     func_0x032ed0c0(1L << (uVar3 >> 0xc & 0x3f),(uVar3 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *   }
		 *   return;
		 */
	}
}
