namespace PixelSecurity.Core.Encryption
{

	// [TypeInfo RVA: 0x0]
	public class DES : Object
	{
		private static PixelSecurity.Core.Encryption.DES.EncryptionOptions _encryptor; // 0x0

		// RVA: 0x32B0458 VA: 0x781899B458
		public void .ctor(PixelSecurity.Core.Encryption.DES.EncryptionOptions options);
		/*
		 *   undefined *puVar1;
		 *   long lVar2;
		 *
		 *   puVar1 = PTR_DAT_070c6808;
		 *   if ((bRam000000000754af96 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6808);
		 *     bRam000000000754af96 = 1;
		 *   }
		 *   System.Object..ctor(param_1);
		 *   lVar2 = *(long *)puVar1;
		 *   if (*(int *)(lVar2 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *     lVar2 = *(long *)puVar1;
		 *   }
		 *   **(undefined8 **)(lVar2 + 0xb8) = param_2;
		 *   if (iRam00000000077785f0 != 0) {
		 *     func_0x032ed0c0(1L << (*(ulong *)(*(long *)puVar1 + 0xb8) >> 0xc & 0x3f),
		 *                     (*(ulong *)(*(long *)puVar1 + 0xb8) >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *   }
		 *   return;
		 */
		// RVA: 0x32B04D8 VA: 0x781899B4D8
		public string EncodeString(string plane);
		/*
		 *   int inputLength;
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   int iVar3;
		 *   long *plVar4;
		 *   void *pvVar5;
		 *   void *paramName;
		 *   undefined8 uVar6;
		 *   void *pvVar7;
		 *   long lVar8;
		 *
		 *   if ((bRam000000000754af97 & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_Convert_6FC0CA8);
		 *     bRam000000000754af97 = 1;
		 *   }
		 *   plVar4 = System.Text.Encoding.get_UTF8();
		 *   puVar1 = typeinfo_ptr_mscorlib_Convert_6FC0CA8;
		 *   if (plVar4 == null) {
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   pvVar7 = *(void **)(*plVar4 + 0x270);
		 *   pvVar5 = (void *)(**(code **)(*plVar4 + 0x268))(plVar4,plane);
		 *   pvVar5 = DES.EncodeBinary(pvVar5,pvVar5);
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar1);
		 *   }
		 *   if ((bRam00000000075511fa & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_Convert_6FC0CA8,0);
		 *     func_0x031fdc8c(PTR_DAT_070dd3e0);
		 *     bRam00000000075511fa = 1;
		 *   }
		 *   if (pvVar5 == null) {
		 *     func_0x031fdca0(PTR_DAT_070c5760);
		 *     pvVar5 = (void *)func_0x031fdf24();
		 *     paramName = (void *)func_0x031fdca0(PTR_DAT_070e2640);
		 *     System.ArgumentNullException..ctor(pvVar5,paramName);
		 *     uVar6 = func_0x031fdca0(PTR_DAT_070e2648);
		 *     IL2CPP.ThrowManagedException();
		 *   }
		 *   inputLength = *(int *)((long)pvVar5 + 0x18);
		 *   if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   pvVar7 = null;
		 *   if ((bRam00000000075511fd & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_Convert_6FC0CA8);
		 *     func_0x031fdc8c(PTR_DAT_070e1ab8);
		 *     func_0x031fdc8c(PTR_DAT_070dce68);
		 *     bRam00000000075511fd = 1;
		 *   }
		 *   puVar2 = PTR_DAT_070e1ab8;
		 *   puVar1 = typeinfo_ptr_mscorlib_Convert_6FC0CA8;
		 *   if (inputLength == 0) {
		 *     pvVar7 = (void *)**(undefined8 **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
		 *   }
		 *   else {
		 *     if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *     }
		 *     iVar3 = Convert.ToBase64_CalculateAndValidateOutputLength(inputLength,false);
		 *     pvVar7 = System.String.FastAllocateString(iVar3);
		 *     uVar6 = func_0x03867754((long)pvVar5 + 0x20,inputLength,*(undefined8 *)puVar2);
		 *     if (pvVar7 == null) {
		 *       lVar8 = 0;
		 *     }
		 *     else {
		 *       iVar3 = RuntimeHelpers.get_OffsetToStringData();
		 *       lVar8 = (long)pvVar7 + (long)iVar3;
		 *     }
		 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *     }
		 *     Convert.ConvertToBase64Array(lVar8,uVar6,0,inputLength,false);
		 *   }
		 *   return pvVar7;
		 */
		// RVA: 0x32B0564 VA: 0x781899B564
		public System.Byte[] EncodeBinary(System.Byte[] src);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   long *plVar3;
		 *   undefined8 uVar4;
		 *   void *pvVar5;
		 *   long *this_00;
		 *   long lVar6;
		 *
		 *   puVar1 = PTR_DAT_070c6808;
		 *   if ((bRam000000000754af98 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c2588);
		 *     func_0x031fdc8c(PTR_DAT_070c2b40);
		 *     func_0x031fdc8c(PTR_DAT_070c6810);
		 *     func_0x031fdc8c(PTR_DAT_070c6818);
		 *     func_0x031fdc8c(PTR_DAT_070c6808);
		 *     func_0x031fdc8c(PTR_DAT_070c2b48);
		 *     bRam000000000754af98 = 1;
		 *   }
		 *   plVar3 = System.Text.Encoding.get_UTF8();
		 *   lVar6 = *(long *)puVar1;
		 *   if (*(int *)(lVar6 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar6);
		 *     lVar6 = *(long *)puVar1;
		 *   }
		 *   puVar1 = PTR_DAT_070c6810;
		 *   if ((**(long **)(lVar6 + 0xb8) != 0) && (plVar3 != null)) {
		 *     uVar4 = (**(code **)(*plVar3 + 0x268))
		 *                       (plVar3,*(undefined8 *)(**(long **)(lVar6 + 0xb8) + 0x10),
		 *                        *(undefined8 *)(*plVar3 + 0x270));
		 *     plVar3 = (long *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *     DESCryptoServiceProvider..ctor(plVar3);
		 *     puVar2 = PTR_DAT_070c2b48;
		 *     puVar1 = PTR_DAT_070c2b40;
		 *     if (plVar3 != null) {
		 *       pvVar5 = (void *)(**(code **)(*plVar3 + 0x2a8))
		 *                                  (plVar3,uVar4,uVar4,*(undefined8 *)(*plVar3 + 0x2b0));
		 *       plVar3 = (long *)func_0x031fdf24(*(undefined8 *)puVar2);
		 *       System.IO.MemoryStream..ctor(plVar3);
		 *       this_00 = (long *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *       System.Security.Cryptography.CryptoStream..ctor(this_00,plVar3,pvVar5,1);
		 *       if ((src != null) && (this_00 != null)) {
		 *         (**(code **)(*this_00 + 0x388))
		 *                   (this_00,src,0,*(undefined4 *)((long)src + 0x18),*(undefined8 *)(*this_00 + 0x390)
		 *                   );
		 *         System.Security.Cryptography.CryptoStream.FlushFinalBlock(this_00);
		 *         puVar1 = PTR_DAT_070c2588;
		 *         if (plVar3 != null) {
		 *           uVar4 = (**(code **)(*plVar3 + 0x1e8))(plVar3,*(undefined8 *)(*plVar3 + 0x1f0));
		 *           pvVar5 = (void *)func_0x031fdd78(*(undefined8 *)puVar1,uVar4);
		 *           (**(code **)(*plVar3 + 0x208))(plVar3,0,*(undefined8 *)(*plVar3 + 0x210));
		 *           if (pvVar5 != null) {
		 *             (**(code **)(*plVar3 + 0x358))
		 *                       (plVar3,pvVar5,0,*(undefined4 *)((long)pvVar5 + 0x18),
		 *                        *(undefined8 *)(*plVar3 + 0x360));
		 *             return pvVar5;
		 *           }
		 *         }
		 *       }
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32B076C VA: 0x781899B76C
		public string DecodeString(string encrypted);
		/*
		 *   undefined *puVar1;
		 *   void *pvVar2;
		 *   long *plVar3;
		 *
		 *   puVar1 = typeinfo_ptr_mscorlib_Convert_6FC0CA8;
		 *   if ((bRam000000000754af99 & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_Convert_6FC0CA8);
		 *     bRam000000000754af99 = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   pvVar2 = Convert.FromBase64String(encrypted);
		 *   pvVar2 = DES.DecodeBinary(pvVar2,pvVar2);
		 *   plVar3 = System.Text.Encoding.get_UTF8();
		 *   if (plVar3 != null) {
		 *     pvVar2 = (void *)(**(code **)(*plVar3 + 0x378))(plVar3,pvVar2,*(undefined8 *)(*plVar3 + 0x380));
		 *     return pvVar2;
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32B07F4 VA: 0x781899B7F4
		public System.Byte[] DecodeBinary(System.Byte[] src);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   long *plVar3;
		 *   undefined8 uVar4;
		 *   void *pvVar5;
		 *   long *this_00;
		 *   long lVar6;
		 *
		 *   puVar1 = PTR_DAT_070c6808;
		 *   if ((bRam000000000754af9a & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c2588);
		 *     func_0x031fdc8c(PTR_DAT_070c2b40);
		 *     func_0x031fdc8c(PTR_DAT_070c6810);
		 *     func_0x031fdc8c(PTR_DAT_070c6820);
		 *     func_0x031fdc8c(PTR_DAT_070c6808);
		 *     func_0x031fdc8c(PTR_DAT_070c2b48);
		 *     bRam000000000754af9a = 1;
		 *   }
		 *   plVar3 = System.Text.Encoding.get_UTF8();
		 *   lVar6 = *(long *)puVar1;
		 *   if (*(int *)(lVar6 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar6);
		 *     lVar6 = *(long *)puVar1;
		 *   }
		 *   puVar1 = PTR_DAT_070c6810;
		 *   if ((**(long **)(lVar6 + 0xb8) != 0) && (plVar3 != null)) {
		 *     uVar4 = (**(code **)(*plVar3 + 0x268))
		 *                       (plVar3,*(undefined8 *)(**(long **)(lVar6 + 0xb8) + 0x10),
		 *                        *(undefined8 *)(*plVar3 + 0x270));
		 *     plVar3 = (long *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *     DESCryptoServiceProvider..ctor(plVar3);
		 *     puVar2 = PTR_DAT_070c2b48;
		 *     puVar1 = PTR_DAT_070c2b40;
		 *     if (plVar3 != null) {
		 *       pvVar5 = (void *)(**(code **)(*plVar3 + 0x2c8))
		 *                                  (plVar3,uVar4,uVar4,*(undefined8 *)(*plVar3 + 0x2d0));
		 *       plVar3 = (long *)func_0x031fdf24(*(undefined8 *)puVar2);
		 *       System.IO.MemoryStream..ctor(plVar3);
		 *       this_00 = (long *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *       System.Security.Cryptography.CryptoStream..ctor(this_00,plVar3,pvVar5,1);
		 *       if ((src != null) && (this_00 != null)) {
		 *         (**(code **)(*this_00 + 0x388))
		 *                   (this_00,src,0,*(undefined4 *)((long)src + 0x18),*(undefined8 *)(*this_00 + 0x390)
		 *                   );
		 *         System.Security.Cryptography.CryptoStream.FlushFinalBlock(this_00);
		 *         puVar1 = PTR_DAT_070c2588;
		 *         if (plVar3 != null) {
		 *           uVar4 = (**(code **)(*plVar3 + 0x1e8))(plVar3,*(undefined8 *)(*plVar3 + 0x1f0));
		 *           pvVar5 = (void *)func_0x031fdd78(*(undefined8 *)puVar1,uVar4);
		 *           (**(code **)(*plVar3 + 0x208))(plVar3,0,*(undefined8 *)(*plVar3 + 0x210));
		 *           if (pvVar5 != null) {
		 *             (**(code **)(*plVar3 + 0x358))
		 *                       (plVar3,pvVar5,0,*(undefined4 *)((long)pvVar5 + 0x18),
		 *                        *(undefined8 *)(*plVar3 + 0x360));
		 *             return pvVar5;
		 *           }
		 *         }
		 *       }
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32B09FC VA: 0x781899B9FC
		private static void .cctor();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   ulong uVar3;
		 *   undefined1 auVar4 [16];
		 *
		 *   puVar2 = PTR_DAT_070c6828;
		 *   puVar1 = PTR_DAT_070c6808;
		 *   if ((bRam000000000754af9b & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6808);
		 *     func_0x031fdc8c(PTR_DAT_070c6828);
		 *     bRam000000000754af9b = 1;
		 *   }
		 *   auVar4 = func_0x031fdf24(*(undefined8 *)puVar2);
		 *   EncryptionOptions..ctor(auVar4._0_8_);
		 *   **(undefined8 **)(*(long *)puVar1 + 0xb8) = auVar4._0_8_;
		 *   uVar3 = *(ulong *)(*(long *)puVar1 + 0xb8);
		 *   if (iRam00000000077785f0 != 0) {
		 *     func_0x032ed0c0(1L << (uVar3 >> 0xc & 0x3f),(uVar3 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *   }
		 *   return;
		 */
	}
}
