namespace PixelSecurity.Modules.SecuredTime
{

	// [TypeInfo RVA: 0x0]
	public class SecuredTime : Object
	{
		private PixelSecurity.Modules.SecuredTime.SecuredTime.ModuleOptions _options; // 0x10
		private float _timeCheckInterval; // 0x18
		private int _availableTolerance; // 0x1C
		private bool _networkCompare; // 0x20
		private string _timeServerUrl; // 0x28
		private string _timeServerMethod; // 0x30
		private float _checkTimer; // 0x38
		private int _lastTime; // 0x3C
		private int _lastNetworkTime; // 0x40

		// RVA: 0x3298D74 VA: 0x7818983D74
		public PixelSecurity.Modules.SecuredTime.SecuredTime.ModuleOptions get_Options();
		/*
		 *   return *(undefined8 *)(param_1 + 0x10);
		 */
		// RVA: 0x3298D7C VA: 0x7818983D7C
		public void .ctor(PixelSecurity.Modules.SecuredTime.SecuredTime.ModuleOptions options);
		/*
		 *   undefined4 uVar1;
		 *   undefined1 uVar2;
		 *   undefined *puVar3;
		 *   void *pvVar4;
		 *   undefined8 uVar5;
		 *   undefined8 *puVar6;
		 *   long lVar7;
		 *   ulong uVar8;
		 *   int *piVar9;
		 *   long *plVar10;
		 *   undefined4 uVar11;
		 *
		 *   if ((bRam000000000754ad9c & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c64f0);
		 *     bRam000000000754ad9c = 1;
		 *   }
		 *   System.Object..ctor(param_1);
		 *   if (param_2 == null) {
		 *     param_2 = (void *)func_0x031fdf24(*(undefined8 *)PTR_DAT_070c64f0);
		 *     ModuleOptions..ctor(param_2);
		 *   }
		 *   *(undefined8 *)((long)param_1 + 0x10) = param_2;
		 *   func_0x031fdc38((undefined8 *)((long)param_1 + 0x10),param_2);
		 *   lVar7 = *(long *)((long)param_1 + 0x10);
		 *   if (lVar7 != 0) {
		 *     uVar11 = *(undefined4 *)(lVar7 + 0x10);
		 *     uVar1 = *(undefined4 *)(lVar7 + 0x14);
		 *     uVar2 = *(undefined1 *)(lVar7 + 0x18);
		 *     *(undefined8 *)((long)param_1 + 0x28) = *(undefined8 *)(lVar7 + 0x20);
		 *     *(undefined4 *)((long)param_1 + 0x18) = uVar11;
		 *     *(undefined4 *)((long)param_1 + 0x1c) = uVar1;
		 *     *(undefined1 *)((long)param_1 + 0x20) = uVar2;
		 *     func_0x031fdc38((undefined8 *)((long)param_1 + 0x28));
		 *     if (*(long *)((long)param_1 + 0x10) != 0) {
		 *       *(undefined8 *)((long)param_1 + 0x30) =
		 *            *(undefined8 *)(*(long *)((long)param_1 + 0x10) + 0x28);
		 *       func_0x031fdc38();
		 *       pvVar4 = param_1;
		 *       if ((bRam000000000754ad9d & 1) == 0) {
		 *         func_0x031fdc8c(PTR_DAT_070c63a0);
		 *         func_0x031fdc8c(PTR_DAT_070c63a8);
		 *         pvVar4 = (void *)func_0x031fdc8c(PTR_DAT_070c64f8);
		 *         bRam000000000754ad9d = 1;
		 *       }
		 *       pvVar4 = PixelGuard.get_Instance();
		 *       puVar3 = PTR_DAT_070c64f8;
		 *       if (pvVar4 != null) {
		 *         plVar10 = *(long **)((long)pvVar4 + 0x30);
		 *         uVar5 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c63a0);
		 *         func_0x04d12f3c(uVar5,param_1,*(undefined8 *)puVar3,0);
		 *         if (plVar10 != null) {
		 *           lVar7 = *plVar10;
		 *           uVar8 = (ulong)*(ushort *)(lVar7 + 0x12e);
		 *           if (uVar8 != 0) {
		 *             piVar9 = (int *)(*(long *)(lVar7 + 0xb0) + 8);
		 *             do {
		 *               if (*(long *)(piVar9 + -2) == *(long *)PTR_DAT_070c63a8) {
		 *                 puVar6 = (undefined8 *)(lVar7 + (long)*piVar9 * 0x10 + 0x138);
		 *                 goto LAB_03398f1c;
		 *               }
		 *               uVar8 = uVar8 - 1;
		 *               piVar9 = piVar9 + 4;
		 *             } while (uVar8 != 0);
		 *           }
		 *           puVar6 = (undefined8 *)func_0x03237558(plVar10,*(long *)PTR_DAT_070c63a8,0);
		 * LAB_03398f1c:
		 *           (*(code *)*puVar6)(plVar10,uVar5,puVar6[1]);
		 *           return;
		 *         }
		 *       }
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3298F38 VA: 0x7818983F38
		protected override void Finalize();
		/*
		 *   SecuredTime.DisposeProtector(this);
		 *   System.Object.Finalize(this);
		 *   return;
		 */
		// RVA: 0x3298E48 VA: 0x7818983E48
		private void InitProtector();
		/*
		 *   undefined *puVar1;
		 *   SecuredTime *methodInfo_00;
		 *   void *pvVar2;
		 *   undefined8 uVar3;
		 *   undefined8 *puVar4;
		 *   long lVar5;
		 *   ulong uVar6;
		 *   int *piVar7;
		 *   long *plVar8;
		 *
		 *   methodInfo_00 = this;
		 *   if ((bRam000000000754ad9d & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c63a0);
		 *     func_0x031fdc8c(PTR_DAT_070c63a8);
		 *     methodInfo_00 = (SecuredTime *)func_0x031fdc8c(PTR_DAT_070c64f8);
		 *     bRam000000000754ad9d = 1;
		 *   }
		 *   pvVar2 = PixelGuard.get_Instance();
		 *   puVar1 = PTR_DAT_070c64f8;
		 *   if (pvVar2 != null) {
		 *     plVar8 = *(long **)((long)pvVar2 + 0x30);
		 *     uVar3 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c63a0);
		 *     func_0x04d12f3c(uVar3,this,*(undefined8 *)puVar1,0);
		 *     if (plVar8 != null) {
		 *       lVar5 = *plVar8;
		 *       uVar6 = (ulong)*(ushort *)(lVar5 + 0x12e);
		 *       if (uVar6 != 0) {
		 *         piVar7 = (int *)(*(long *)(lVar5 + 0xb0) + 8);
		 *         do {
		 *           if (*(long *)(piVar7 + -2) == *(long *)PTR_DAT_070c63a8) {
		 *             puVar4 = (undefined8 *)(lVar5 + (long)*piVar7 * 0x10 + 0x138);
		 *             goto LAB_03398f1c;
		 *           }
		 *           uVar6 = uVar6 - 1;
		 *           piVar7 = piVar7 + 4;
		 *         } while (uVar6 != 0);
		 *       }
		 *       puVar4 = (undefined8 *)func_0x03237558(plVar8,*(long *)PTR_DAT_070c63a8,0);
		 * LAB_03398f1c:
		 *       (*(code *)*puVar4)(plVar8,uVar3,puVar4[1]);
		 *       return;
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3298FBC VA: 0x7818983FBC
		private void DisposeProtector();
		/*
		 *   undefined *puVar1;
		 *   SecuredTime *methodInfo_00;
		 *   void *pvVar2;
		 *   undefined8 uVar3;
		 *   undefined8 *puVar4;
		 *   long lVar5;
		 *   ulong uVar6;
		 *   int *piVar7;
		 *   long *plVar8;
		 *
		 *   methodInfo_00 = this;
		 *   if ((bRam000000000754ad9e & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c63a0);
		 *     func_0x031fdc8c(PTR_DAT_070c63a8);
		 *     methodInfo_00 = (SecuredTime *)func_0x031fdc8c(PTR_DAT_070c64f8);
		 *     bRam000000000754ad9e = 1;
		 *   }
		 *   pvVar2 = PixelGuard.get_Instance();
		 *   puVar1 = PTR_DAT_070c64f8;
		 *   if (pvVar2 != null) {
		 *     plVar8 = *(long **)((long)pvVar2 + 0x30);
		 *     uVar3 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c63a0);
		 *     func_0x04d12f3c(uVar3,this,*(undefined8 *)puVar1,0);
		 *     if (plVar8 != null) {
		 *       lVar5 = *plVar8;
		 *       uVar6 = (ulong)*(ushort *)(lVar5 + 0x12e);
		 *       if (uVar6 != 0) {
		 *         piVar7 = (int *)(*(long *)(lVar5 + 0xb0) + 8);
		 *         do {
		 *           if (*(long *)(piVar7 + -2) == *(long *)PTR_DAT_070c63a8) {
		 *             puVar4 = (undefined8 *)(lVar5 + (long)(*piVar7 + 1) * 0x10 + 0x138);
		 *             goto LAB_03399094;
		 *           }
		 *           uVar6 = uVar6 - 1;
		 *           piVar7 = piVar7 + 4;
		 *         } while (uVar6 != 0);
		 *       }
		 *       puVar4 = (undefined8 *)func_0x03237558(plVar8,*(long *)PTR_DAT_070c63a8,1);
		 * LAB_03399094:
		 *       (*(code *)*puVar4)(plVar8,uVar3,puVar4[1]);
		 *       return;
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32990B0 VA: 0x78189840B0
		private void OnUpdate(PixelSecurity.Handlers.DeltaTimeHandler handler);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   uint uVar3;
		 *   int iVar4;
		 *   void *pvVar5;
		 *   SecuredTime *extraout_x0;
		 *   SecuredTime *pSVar6;
		 *   void *pvVar7;
		 *   void *onRequestError;
		 *   ulong uVar8;
		 *   undefined8 uVar9;
		 *   void *methodInfo_00;
		 *   void *extraout_x1;
		 *   void *extraout_x1_00;
		 *   void *extraout_x1_01;
		 *   void *methodInfo_01;
		 *   undefined8 *puVar10;
		 *   long lVar11;
		 *   float in_s0;
		 *   undefined1 auVar12 [16];
		 *
		 *   auVar12._8_8_ = handler;
		 *   auVar12._0_8_ = this;
		 *   if (0.0 < this.checkTimer) {
		 *     this.checkTimer = this.checkTimer - in_s0;
		 *     return;
		 *   }
		 *   this.checkTimer = this.timeCheckInterval;
		 *   if ((bRam000000000754ad9f & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c4f78);
		 *     func_0x031fdc8c(PTR_DAT_070c6500);
		 *     auVar12 = func_0x031fdc8c(PTR_DAT_070c6508);
		 *     bRam000000000754ad9f = 1;
		 *   }
		 *   iVar4 = this.lastTime;
		 *   if (this.networkCompare != false) {
		 *     if (iVar4 == 0) {
		 *       iVar4 = SecuredTime.GetCurrentLocalTime(auVar12._0_8_)
		 *       ;
		 *       puVar1 = PTR_DAT_070c4f78;
		 *       this.lastTime = iVar4;
		 *       pvVar5 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *       puVar10 = (undefined8 *)PTR_DAT_070c6500;
		 *     }
		 *     else {
		 *       pvVar5 = (void *)func_0x031fdf24(*(undefined8 *)PTR_DAT_070c4f78);
		 *       puVar10 = (undefined8 *)PTR_DAT_070c6508;
		 *     }
		 *     func_0x04d14004(pvVar5,this,*puVar10,0);
		 *     puVar2 = PTR_DAT_070c6520;
		 *     puVar1 = PTR_DAT_070c6518;
		 *     pSVar6 = this;
		 *     if ((bRam000000000754ada2 & 1) == 0) {
		 *       func_0x031fdc8c(PTR_DAT_070c6518);
		 *       pSVar6 = (SecuredTime *)func_0x031fdc8c(PTR_DAT_070c6520);
		 *       bRam000000000754ada2 = 1;
		 *     }
		 *     pvVar7 = PixelGuard.get_Instance();
		 *     onRequestError = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *     methodInfo_01 = null;
		 *     func_0x04d15d1c(onRequestError,this,*(undefined8 *)puVar2);
		 *     pvVar5 = SecuredTime.RequestNetworkTime(this,pvVar5,onRequestError);
		 *     if ((pvVar7 == null) || (pvVar7 = *(void **)((long)pvVar7 + 0x18), pvVar7 == null)
		 *        ) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     if (pvVar5 == null) {
		 *       func_0x031fdca0(PTR_DAT_070c9118,0,0);
		 *       pvVar7 = (void *)func_0x031fdf24();
		 *       pvVar5 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
		 *       NullReferenceException..ctor(pvVar7,pvVar5);
		 *     }
		 *     else {
		 *       uVar8 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
		 *       if ((uVar8 & 1) != 0) {
		 *         if ((bRam000000000755f8f7 & 1) == 0) {
		 *           func_0x031fdc8c(PTR_DAT_0714f590);
		 *           bRam000000000755f8f7 = 1;
		 *         }
		 *         if (pvVar7 != null) {
		 *           lVar11 = *(long *)((long)pvVar7 + 0x10);
		 *           if (lVar11 == 0) {
		 *             UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar7);
		 *           }
		 *           if (pcRam000000000755f968 == null) {
		 *             pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
		 *           }
		 *           (*pcRam000000000755f968)(lVar11,pvVar5);
		 *           return;
		 *         }
		 *         IL2CPP.ThrowNullReferenceException();
		 *       }
		 *       func_0x031fdca0(PTR_DAT_070c6fb0);
		 *       pvVar7 = (void *)func_0x031fdf24();
		 *       pvVar5 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
		 *       System.ArgumentException..ctor(pvVar7,pvVar5);
		 *     }
		 *     uVar9 = func_0x031fdca0(PTR_DAT_0714f5d0);
		 *     IL2CPP.ThrowManagedException();
		 *   }
		 *   uVar3 = SecuredTime.GetCurrentLocalTime(auVar12._0_8_);
		 *   pSVar6 = (SecuredTime *)(ulong)uVar3;
		 *   pvVar5 = methodInfo_00;
		 *   if (iVar4 == 0) goto LAB_03399198;
		 *   if ((float)this.availableTolerance <
		 *       (float)(int)(uVar3 - this.lastTime) - this.timeCheckInterval) {
		 * LAB_0339918c:
		 *     SecuredTime.DetectTimeChanged(this);
		 *     pSVar6 = extraout_x0;
		 *     pvVar5 = extraout_x1_00;
		 *   }
		 *   else {
		 *     uVar3 = SecuredTime.GetCurrentLocalTime(pSVar6);
		 *     pSVar6 = (SecuredTime *)(ulong)uVar3;
		 *     pvVar5 = extraout_x1;
		 *     if ((float)(int)(uVar3 - this.lastTime) - this.timeCheckInterval < 0.0) goto LAB_0339918c;
		 *   }
		 *   uVar3 = SecuredTime.GetCurrentLocalTime(pSVar6);
		 *   pSVar6 = (SecuredTime *)(ulong)uVar3;
		 *   pvVar5 = extraout_x1_01;
		 * LAB_03399198:
		 *   this.lastTime = (int)pSVar6;
		 *   iVar4 = SecuredTime.GetCurrentLocalTime(pSVar6);
		 *   this.lastNetworkTime = iVar4;
		 *   return;
		 */
		// RVA: 0x32990D4 VA: 0x78189840D4
		private void CheckTime();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   uint uVar3;
		 *   int iVar4;
		 *   void *pvVar5;
		 *   SecuredTime *extraout_x0;
		 *   SecuredTime *pSVar6;
		 *   void *pvVar7;
		 *   void *onRequestError;
		 *   ulong uVar8;
		 *   undefined8 uVar9;
		 *   void *methodInfo_00;
		 *   void *extraout_x1;
		 *   void *extraout_x1_00;
		 *   void *extraout_x1_01;
		 *   void *methodInfo_01;
		 *   undefined8 *puVar10;
		 *   long lVar11;
		 *   undefined1 auVar12 [16];
		 *
		 *   auVar12._8_8_ = methodInfo;
		 *   auVar12._0_8_ = this;
		 *   if ((bRam000000000754ad9f & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c4f78);
		 *     func_0x031fdc8c(PTR_DAT_070c6500);
		 *     auVar12 = func_0x031fdc8c(PTR_DAT_070c6508);
		 *     bRam000000000754ad9f = 1;
		 *   }
		 *   iVar4 = this.lastTime;
		 *   if (this.networkCompare != false) {
		 *     if (iVar4 == 0) {
		 *       iVar4 = SecuredTime.GetCurrentLocalTime(auVar12._0_8_)
		 *       ;
		 *       puVar1 = PTR_DAT_070c4f78;
		 *       this.lastTime = iVar4;
		 *       pvVar5 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *       puVar10 = (undefined8 *)PTR_DAT_070c6500;
		 *     }
		 *     else {
		 *       pvVar5 = (void *)func_0x031fdf24(*(undefined8 *)PTR_DAT_070c4f78);
		 *       puVar10 = (undefined8 *)PTR_DAT_070c6508;
		 *     }
		 *     func_0x04d14004(pvVar5,this,*puVar10,0);
		 *     puVar2 = PTR_DAT_070c6520;
		 *     puVar1 = PTR_DAT_070c6518;
		 *     pSVar6 = this;
		 *     if ((bRam000000000754ada2 & 1) == 0) {
		 *       func_0x031fdc8c(PTR_DAT_070c6518);
		 *       pSVar6 = (SecuredTime *)func_0x031fdc8c(PTR_DAT_070c6520);
		 *       bRam000000000754ada2 = 1;
		 *     }
		 *     pvVar7 = PixelGuard.get_Instance();
		 *     onRequestError = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *     methodInfo_01 = null;
		 *     func_0x04d15d1c(onRequestError,this,*(undefined8 *)puVar2);
		 *     pvVar5 = SecuredTime.RequestNetworkTime(this,pvVar5,onRequestError);
		 *     if ((pvVar7 == null) || (pvVar7 = *(void **)((long)pvVar7 + 0x18), pvVar7 == null)
		 *        ) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     if (pvVar5 == null) {
		 *       func_0x031fdca0(PTR_DAT_070c9118,0,0);
		 *       pvVar7 = (void *)func_0x031fdf24();
		 *       pvVar5 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
		 *       NullReferenceException..ctor(pvVar7,pvVar5);
		 *     }
		 *     else {
		 *       uVar8 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
		 *       if ((uVar8 & 1) != 0) {
		 *         if ((bRam000000000755f8f7 & 1) == 0) {
		 *           func_0x031fdc8c(PTR_DAT_0714f590);
		 *           bRam000000000755f8f7 = 1;
		 *         }
		 *         if (pvVar7 != null) {
		 *           lVar11 = *(long *)((long)pvVar7 + 0x10);
		 *           if (lVar11 == 0) {
		 *             UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar7);
		 *           }
		 *           if (pcRam000000000755f968 == null) {
		 *             pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
		 *           }
		 *           (*pcRam000000000755f968)(lVar11,pvVar5);
		 *           return;
		 *         }
		 *         IL2CPP.ThrowNullReferenceException();
		 *       }
		 *       func_0x031fdca0(PTR_DAT_070c6fb0);
		 *       pvVar7 = (void *)func_0x031fdf24();
		 *       pvVar5 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
		 *       System.ArgumentException..ctor(pvVar7,pvVar5);
		 *     }
		 *     uVar9 = func_0x031fdca0(PTR_DAT_0714f5d0);
		 *     IL2CPP.ThrowManagedException();
		 *   }
		 *   uVar3 = SecuredTime.GetCurrentLocalTime(auVar12._0_8_);
		 *   pSVar6 = (SecuredTime *)(ulong)uVar3;
		 *   pvVar5 = methodInfo_00;
		 *   if (iVar4 == 0) goto LAB_03399198;
		 *   if ((float)this.availableTolerance <
		 *       (float)(int)(uVar3 - this.lastTime) - this.timeCheckInterval) {
		 * LAB_0339918c:
		 *     SecuredTime.DetectTimeChanged(this);
		 *     pSVar6 = extraout_x0;
		 *     pvVar5 = extraout_x1_00;
		 *   }
		 *   else {
		 *     uVar3 = SecuredTime.GetCurrentLocalTime(pSVar6);
		 *     pSVar6 = (SecuredTime *)(ulong)uVar3;
		 *     pvVar5 = extraout_x1;
		 *     if ((float)(int)(uVar3 - this.lastTime) - this.timeCheckInterval < 0.0) goto LAB_0339918c;
		 *   }
		 *   uVar3 = SecuredTime.GetCurrentLocalTime(pSVar6);
		 *   pSVar6 = (SecuredTime *)(ulong)uVar3;
		 *   pvVar5 = extraout_x1_01;
		 * LAB_03399198:
		 *   this.lastTime = (int)pSVar6;
		 *   iVar4 = SecuredTime.GetCurrentLocalTime(pSVar6);
		 *   this.lastNetworkTime = iVar4;
		 *   return;
		 */
		// RVA: 0x3299394 VA: 0x7818984394
		private void DetectTimeChanged();
		/*
		 *   undefined *puVar1;
		 *   SecurityWarningHandler *this_00;
		 *   undefined8 *puVar2;
		 *   SecuredTime *methodInfo_00;
		 *   void *pvVar3;
		 *   void *pvVar4;
		 *   long lVar5;
		 *   ulong uVar6;
		 *   int *piVar7;
		 *   long *plVar8;
		 *
		 *   methodInfo_00 = this;
		 *   if ((bRam000000000754ada0 & 1) == 0) {
		 *     methodInfo_00 = (SecuredTime *)func_0x031fdc8c(PTR_DAT_070c6528);
		 *     bRam000000000754ada0 = 1;
		 *   }
		 *   pvVar3 = PixelGuard.get_Instance();
		 *   if (pvVar3 == null) {
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   pvVar4 = *(void **)PTR_DAT_070c6528;
		 *   if ((bRam000000000754ad6c & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c62f0);
		 *     func_0x031fdc8c(PTR_DAT_070c62f8);
		 *     bRam000000000754ad6c = 1;
		 *   }
		 *   plVar8 = *(long **)((long)pvVar3 + 0x28);
		 *   if (plVar8 == null) {
		 *     return;
		 *   }
		 *   this_00 = (SecurityWarningHandler *)func_0x031fdf24(*(undefined8 *)PTR_DAT_070c62f8);
		 *   SecurityWarningHandler..ctor(this_00);
		 *   puVar1 = PTR_DAT_070c62f0;
		 *   if (this_00 == null) {
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   this_00->message = pvVar4;
		 *   func_0x031fdc38(&this_00->message,pvVar4);
		 *   this_00->module = this;
		 *   func_0x031fdc38(&this_00->module,this);
		 *   lVar5 = *plVar8;
		 *   uVar6 = (ulong)*(ushort *)(lVar5 + 0x12e);
		 *   if (uVar6 != 0) {
		 *     piVar7 = (int *)(*(long *)(lVar5 + 0xb0) + 8);
		 *     do {
		 *       if (*(long *)(piVar7 + -2) == *(long *)puVar1) {
		 *         puVar2 = (undefined8 *)(lVar5 + (long)*piVar7 * 0x10 + 0x138);
		 *         goto LAB_03395670;
		 *       }
		 *       uVar6 = uVar6 - 1;
		 *       piVar7 = piVar7 + 4;
		 *     } while (uVar6 != 0);
		 *   }
		 *   puVar2 = (undefined8 *)func_0x03237558(plVar8,*(long *)puVar1,0);
		 * LAB_03395670:
		 *   (*(code *)*puVar2)(plVar8,this_00,0,puVar2[1]);
		 *   return;
		 */
		// RVA: 0x32991FC VA: 0x78189841FC
		public int GetCurrentLocalTime();
		/*
		 *   int iVar1;
		 *   undefined *puVar2;
		 *   undefined *puVar3;
		 *   undefined8 uVar4;
		 *   void *extraout_x1;
		 *   double dVar5;
		 *   undefined8 uStack_28;
		 *   undefined8 uStack_18;
		 *
		 *   puVar2 = typeinfo_ptr_mscorlib_DateTime_6FC2128;
		 *   if ((bRam000000000754ada1 & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_DateTime_6FC2128);
		 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_TimeSpan_6FC6510);
		 *     bRam000000000754ada1 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar3 = typeinfo_ptr_mscorlib_TimeSpan_6FC6510;
		 *   uStack_18 = 0;
		 *   uStack_28 = 0;
		 *   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar2,methodInfo);
		 *   }
		 *   System.DateTime..ctor(&uStack_18,0x7b2,1,1,0,0,0,1);
		 *   uVar4 = System.DateTime.get_UtcNow();
		 *   uStack_28 = System.DateTime.op_Subtraction(uVar4,uStack_18);
		 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar3);
		 *   }
		 *   dVar5 = System.TimeSpan.get_TotalSeconds(&uStack_28);
		 *   iVar1 = -0x80000000;
		 *   if (dVar5 != INFINITY) {
		 *     iVar1 = (int)dVar5;
		 *   }
		 *   return iVar1;
		 */
		// RVA: 0x32992E4 VA: 0x78189842E4
		public void GetCurrentNetworkTime(System.Action<System.Int32> onTimeDetected);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   SecuredTime *methodInfo_00;
		 *   void *pvVar3;
		 *   void *pvVar4;
		 *   ulong uVar5;
		 *   undefined8 uVar6;
		 *   void *methodInfo_01;
		 *   long lVar7;
		 *
		 *   puVar2 = PTR_DAT_070c6520;
		 *   puVar1 = PTR_DAT_070c6518;
		 *   methodInfo_00 = this;
		 *   if ((bRam000000000754ada2 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6518);
		 *     methodInfo_00 = (SecuredTime *)func_0x031fdc8c(PTR_DAT_070c6520);
		 *     bRam000000000754ada2 = 1;
		 *   }
		 *   pvVar3 = PixelGuard.get_Instance();
		 *   pvVar4 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *   methodInfo_01 = null;
		 *   func_0x04d15d1c(pvVar4,this,*(undefined8 *)puVar2);
		 *   pvVar4 = SecuredTime.RequestNetworkTime(this,onTimeDetected,pvVar4);
		 *   if ((pvVar3 == null) || (pvVar3 = *(void **)((long)pvVar3 + 0x18), pvVar3 == null))
		 *   {
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   if (pvVar4 == null) {
		 *     func_0x031fdca0(PTR_DAT_070c9118,0,0);
		 *     pvVar4 = (void *)func_0x031fdf24();
		 *     pvVar3 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
		 *     NullReferenceException..ctor(pvVar4,pvVar3);
		 *   }
		 *   else {
		 *     uVar5 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
		 *     if ((uVar5 & 1) != 0) {
		 *       if ((bRam000000000755f8f7 & 1) == 0) {
		 *         func_0x031fdc8c(PTR_DAT_0714f590);
		 *         bRam000000000755f8f7 = 1;
		 *       }
		 *       if (pvVar3 != null) {
		 *         lVar7 = *(long *)((long)pvVar3 + 0x10);
		 *         if (lVar7 == 0) {
		 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar3);
		 *         }
		 *         if (pcRam000000000755f968 == null) {
		 *           pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
		 *         }
		 *         (*pcRam000000000755f968)(lVar7,pvVar4);
		 *         return;
		 *       }
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     func_0x031fdca0(PTR_DAT_070c6fb0);
		 *     pvVar4 = (void *)func_0x031fdf24();
		 *     pvVar3 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
		 *     System.ArgumentException..ctor(pvVar4,pvVar3);
		 *   }
		 *   uVar6 = func_0x031fdca0(PTR_DAT_0714f5d0);
		 *   IL2CPP.ThrowManagedException();
		 */
		// RVA: 0x32993E8 VA: 0x78189843E8
		private System.Collections.IEnumerator RequestNetworkTime(System.Action<System.Int32> onTimeReceived, System.Action<System.String> onRequestError);
		/*
		 *   undefined *puVar1;
		 *   RequestNetworkTime_d_21 *this_00;
		 *
		 *   puVar1 = PTR_DAT_070c6530;
		 *   if ((bRam000000000754ada3 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6530);
		 *     bRam000000000754ada3 = 1;
		 *   }
		 *   this_00 = (RequestNetworkTime_d_21 *)func_0x031fdf24(*(undefined8 *)puVar1);
		 *   <RequestNetworkTime>d__21..ctor(this_00,0);
		 *   if (this_00 != null) {
		 *     this_00->n_4_this = this;
		 *     func_0x031fdc38(&this_00->n_4_this,this);
		 *     this_00->onTimeReceived = onTimeReceived;
		 *     func_0x031fdc38(&this_00->onTimeReceived,onTimeReceived);
		 *     this_00->onRequestError = onRequestError;
		 *     func_0x031fdc38(&this_00->onRequestError,onRequestError);
		 *     return this_00;
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x329948C VA: 0x781898448C
		private bool CompareTimestamps(int currentNetworkTime, int currentLocalTime);
		/*
		 *   int iVar1;
		 *   int iVar2;
		 *   int iVar3;
		 *
		 *   iVar2 = currentNetworkTime - this.lastNetworkTime;
		 *   iVar3 = currentLocalTime - this.lastTime;
		 *   iVar1 = iVar3 - iVar2;
		 *   if (iVar3 - iVar2 == 0 || iVar3 < iVar2) {
		 *     iVar1 = iVar2 - iVar3;
		 *   }
		 *   return iVar1 <= this.availableTolerance;
		 */
		// RVA: 0x32994B4 VA: 0x78189844B4
		private void <CheckTime>b__17_0(int networkTime);
		/*
		 *   this.lastNetworkTime = networkTime;
		 *   return;
		 */
		// RVA: 0x32994BC VA: 0x78189844BC
		private void <CheckTime>b__17_1(int networkTime);
		/*
		 *   int iVar1;
		 *   int iVar2;
		 *   uint uVar3;
		 *   int iVar4;
		 *   SecuredTime *extraout_x0;
		 *   void *methodInfo_00;
		 *   void *extraout_x1;
		 *   void *methodInfo_01;
		 *   SecuredTime *this_00;
		 *
		 *   uVar3 = SecuredTime.GetCurrentLocalTime(this);
		 *   this_00 = (SecuredTime *)(ulong)uVar3;
		 *   iVar1 = networkTime - this.lastNetworkTime;
		 *   iVar2 = uVar3 - this.lastTime;
		 *   iVar4 = iVar2 - iVar1;
		 *   if (iVar2 - iVar1 == 0 || iVar2 < iVar1) {
		 *     iVar4 = iVar1 - iVar2;
		 *   }
		 *   methodInfo_01 = methodInfo_00;
		 *   if (this.availableTolerance < iVar4) {
		 *     SecuredTime.DetectTimeChanged(this);
		 *     this_00 = extraout_x0;
		 *     methodInfo_01 = extraout_x1;
		 *   }
		 *   iVar4 = SecuredTime.GetCurrentLocalTime(this_00);
		 *   this.lastTime = iVar4;
		 *   this.lastNetworkTime = networkTime;
		 *   return;
		 */
		// RVA: 0x3299510 VA: 0x7818984510
		private void <GetCurrentNetworkTime>b__20_0(string error);
		/*
		 *   undefined *puVar1;
		 *   SecurityWarningHandler *this_00;
		 *   undefined8 *puVar2;
		 *   void *pvVar3;
		 *   long lVar4;
		 *   ulong uVar5;
		 *   int *piVar6;
		 *   long *plVar7;
		 *
		 *   pvVar3 = PixelGuard.get_Instance();
		 *   if (pvVar3 == null) {
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   if ((bRam000000000754ad6c & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c62f0);
		 *     func_0x031fdc8c(PTR_DAT_070c62f8);
		 *     bRam000000000754ad6c = 1;
		 *   }
		 *   plVar7 = *(long **)((long)pvVar3 + 0x28);
		 *   if (plVar7 == null) {
		 *     return;
		 *   }
		 *   this_00 = (SecurityWarningHandler *)func_0x031fdf24(*(undefined8 *)PTR_DAT_070c62f8);
		 *   SecurityWarningHandler..ctor(this_00);
		 *   puVar1 = PTR_DAT_070c62f0;
		 *   if (this_00 == null) {
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   this_00->message = error;
		 *   func_0x031fdc38(&this_00->message,error);
		 *   this_00->module = this;
		 *   func_0x031fdc38(&this_00->module,this);
		 *   lVar4 = *plVar7;
		 *   uVar5 = (ulong)*(ushort *)(lVar4 + 0x12e);
		 *   if (uVar5 != 0) {
		 *     piVar6 = (int *)(*(long *)(lVar4 + 0xb0) + 8);
		 *     do {
		 *       if (*(long *)(piVar6 + -2) == *(long *)puVar1) {
		 *         puVar2 = (undefined8 *)(lVar4 + (long)*piVar6 * 0x10 + 0x138);
		 *         goto LAB_03395670;
		 *       }
		 *       uVar5 = uVar5 - 1;
		 *       piVar6 = piVar6 + 4;
		 *     } while (uVar5 != 0);
		 *   }
		 *   puVar2 = (undefined8 *)func_0x03237558(plVar7,*(long *)puVar1,0);
		 * LAB_03395670:
		 *   (*(code *)*puVar2)(plVar7,this_00,0,puVar2[1]);
		 *   return;
		 */
	}
}
