namespace PixelSecurity
{

	// [TypeInfo RVA: 0x0]
	public class PixelGuard : Object
	{
		private static PixelSecurity.PixelGuard _instance; // 0x0
		private PixelSecurity.Models.PixelGuardOptions _toolkitSetup; // 0x10
		private PixelSecurity.Util.PixelMono _monoWrapper; // 0x18
		private System.Collections.Generic.List<PixelSecurity.Modules.ISecurityModule> _modules; // 0x20
		public PixelSecurity.Core.Events.IGameEvent<PixelSecurity.Handlers.SecurityWarningHandler> OnSecurityMessage; // 0x28
		public PixelSecurity.Core.Events.IGameEvent<PixelSecurity.Handlers.DeltaTimeHandler> OnLoopUpdate; // 0x30
		public PixelSecurity.Core.Events.IGameEvent<PixelSecurity.Handlers.DeltaTimeHandler> OnLoopFixedUpdate; // 0x38
		private bool _hasUI; // 0x40

		// RVA: 0x3294FBC VA: 0x781897FFBC
		public static PixelSecurity.PixelGuard get_Instance();
		/*
		 *   undefined *puVar1;
		 *   PixelGuard *this;
		 *   void *pvVar2;
		 *   undefined1 auVar3 [16];
		 *
		 *   puVar1 = PTR_DAT_070c6278;
		 *   if ((bRam000000000754ad67 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6278);
		 *     bRam000000000754ad67 = 1;
		 *   }
		 *   pvVar2 = (void *)**(undefined8 **)(*(long *)puVar1 + 0xb8);
		 *   if (pvVar2 == null) {
		 *     auVar3 = func_0x031fdf24();
		 *     this = auVar3._0_8_;
		 *     PixelGuard..ctor(this);
		 *     **(undefined8 **)(*(long *)puVar1 + 0xb8) = this;
		 *     func_0x031fdc38(*(undefined8 *)(*(long *)puVar1 + 0xb8),this);
		 *     pvVar2 = (void *)**(undefined8 **)(*(long *)puVar1 + 0xb8);
		 *   }
		 *   return pvVar2;
		 */
		// RVA: 0x3295040 VA: 0x7818980040
		private void .ctor();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   undefined *puVar3;
		 *   undefined *puVar4;
		 *   undefined *puVar5;
		 *   undefined *puVar6;
		 *   bool bVar7;
		 *   void *pvVar8;
		 *   ulong uVar9;
		 *   void *value;
		 *   undefined8 uVar10;
		 *   long lVar11;
		 *   BaseView *this_00;
		 *   void *extraout_x1;
		 *   void *methodInfo_00;
		 *   void *methodInfo_01;
		 *   void **ppvVar12;
		 *   undefined1 auVar13 [16];
		 *
		 *   puVar6 = PTR_DAT_070c62a8;
		 *   puVar5 = PTR_DAT_070c62a0;
		 *   puVar4 = PTR_DAT_070c6298;
		 *   puVar3 = PTR_DAT_070c6290;
		 *   puVar2 = PTR_DAT_070c6288;
		 *   puVar1 = PTR_DAT_070c6280;
		 *   if ((bRam000000000754ad68 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c62a8);
		 *     func_0x031fdc8c(PTR_DAT_070c6298);
		 *     func_0x031fdc8c(PTR_DAT_070c6290);
		 *     func_0x031fdc8c(PTR_DAT_070c62a0);
		 *     func_0x031fdc8c(PTR_DAT_070c6288);
		 *     func_0x031fdc8c(PTR_DAT_070c6280);
		 *     bRam000000000754ad68 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   pvVar8 = (void *)func_0x031fdf24(*(undefined8 *)puVar1,methodInfo);
		 *   func_0x03f2ce9c(pvVar8,*(undefined8 *)puVar2);
		 *   this.modules = pvVar8;
		 *   func_0x031fdc38(&this.modules,pvVar8);
		 *   pvVar8 = (void *)func_0x031fdf24(*(undefined8 *)puVar3);
		 *   func_0x052fd7d8(pvVar8,*(undefined8 *)puVar4);
		 *   this.OnSecurityMessage = pvVar8;
		 *   func_0x031fdc38(&this.OnSecurityMessage,pvVar8);
		 *   pvVar8 = (void *)func_0x031fdf24(*(undefined8 *)puVar5);
		 *   func_0x052fd328(pvVar8,*(undefined8 *)puVar6);
		 *   this.OnLoopUpdate = pvVar8;
		 *   func_0x031fdc38(&this.OnLoopUpdate,pvVar8);
		 *   pvVar8 = (void *)func_0x031fdf24(*(undefined8 *)puVar5);
		 *   func_0x052fd328(pvVar8,*(undefined8 *)puVar6);
		 *   this.OnLoopFixedUpdate = pvVar8;
		 *   func_0x031fdc38(&this.OnLoopFixedUpdate,pvVar8);
		 *   System.Object..ctor(this);
		 *   PixelGuard.CreateMonoWrapper(this);
		 *   puVar3 = PTR_DAT_070c62c8;
		 *   puVar2 = PTR_DAT_070c62c0;
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000754ad69 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c62d0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     func_0x031fdc8c(PTR_DAT_070c62c8);
		 *     func_0x031fdc8c(PTR_DAT_070c62c0);
		 *     bRam000000000754ad69 = 1;
		 *   }
		 *   pvVar8 = (void *)func_0x03949758(*(undefined8 *)puVar2,*(undefined8 *)puVar3);
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar1);
		 *   }
		 *   uVar9 = UnityEngine.Object.op_Equality(pvVar8,null);
		 *   if ((uVar9 & 1) == 0) {
		 *     if (pvVar8 == null) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     value = UnityEngine.TextAsset.get_text(pvVar8);
		 *     bVar7 = System.String.IsNullOrEmpty(value);
		 *     if (!bVar7) {
		 *       pvVar8 = UnityEngine.TextAsset.get_text(pvVar8);
		 *       pvVar8 = (void *)func_0x0384d48c(pvVar8,*(undefined8 *)PTR_DAT_070c62d0);
		 *       ppvVar12 = &this.toolkitSetup;
		 *       *ppvVar12 = pvVar8;
		 *       func_0x031fdc38(ppvVar12,pvVar8);
		 *       if ((*ppvVar12 != null) && (*(char *)((long)*ppvVar12 + 0x10) != '\0')) {
		 *         if ((bRam000000000754ad6a & 1) == 0) {
		 *           func_0x031fdc8c(PTR_DAT_070c62d8);
		 *           func_0x031fdc8c(PTR_DAT_070c3338);
		 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *           func_0x031fdc8c(PTR_DAT_070c62e0);
		 *           func_0x031fdc8c(PTR_DAT_070c62e8);
		 *           bRam000000000754ad6a = 1;
		 *         }
		 *         if (this.hasUI == false) {
		 *           uVar10 = func_0x03949758(*(undefined8 *)PTR_DAT_070c62e8,*(undefined8 *)PTR_DAT_070c62e0);
		 *           if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
		 *             func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *           }
		 *           lVar11 = func_0x03890888(uVar10,*(undefined8 *)PTR_DAT_070c3338);
		 *           if ((lVar11 == 0) ||
		 *              (auVar13 = func_0x037f3038(lVar11,*(undefined8 *)PTR_DAT_070c62d8),
		 *              this_00 = auVar13._0_8_, this_00 == null)) {
		 *             IL2CPP.ThrowNullReferenceException();
		 *           }
		 *           BaseView.SetAsGlobalView(this_00);
		 *           func_0x031fdc38(&stack0xffffffffffffffd8,0);
		 *           *(undefined8 *)(this_00 + 1) = 0;
		 *           func_0x031fdc38(this_00 + 1,0);
		 *           BaseView.Hide(this_00);
		 *           this.hasUI = true;
		 *         }
		 *         return;
		 *       }
		 *     }
		 *   }
		 *   return;
		 */
		// RVA: 0x329528C VA: 0x781898028C
		private void PreloadToolkitSetup();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   undefined *puVar3;
		 *   bool bVar4;
		 *   void *pvVar5;
		 *   ulong uVar6;
		 *   void *value;
		 *   undefined8 uVar7;
		 *   long lVar8;
		 *   BaseView *this_00;
		 *   void *methodInfo_00;
		 *   void **ppvVar9;
		 *   undefined1 auVar10 [16];
		 *
		 *   puVar3 = PTR_DAT_070c62c8;
		 *   puVar2 = PTR_DAT_070c62c0;
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000754ad69 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c62d0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     func_0x031fdc8c(PTR_DAT_070c62c8);
		 *     func_0x031fdc8c(PTR_DAT_070c62c0);
		 *     bRam000000000754ad69 = 1;
		 *   }
		 *   pvVar5 = (void *)func_0x03949758(*(undefined8 *)puVar2,*(undefined8 *)puVar3);
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar1);
		 *   }
		 *   uVar6 = UnityEngine.Object.op_Equality(pvVar5,null);
		 *   if ((uVar6 & 1) == 0) {
		 *     if (pvVar5 == null) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     value = UnityEngine.TextAsset.get_text(pvVar5);
		 *     bVar4 = System.String.IsNullOrEmpty(value);
		 *     if (!bVar4) {
		 *       pvVar5 = UnityEngine.TextAsset.get_text(pvVar5);
		 *       pvVar5 = (void *)func_0x0384d48c(pvVar5,*(undefined8 *)PTR_DAT_070c62d0);
		 *       ppvVar9 = &this.toolkitSetup;
		 *       *ppvVar9 = pvVar5;
		 *       func_0x031fdc38(ppvVar9,pvVar5);
		 *       if ((*ppvVar9 != null) && (*(char *)((long)*ppvVar9 + 0x10) != '\0')) {
		 *         if ((bRam000000000754ad6a & 1) == 0) {
		 *           func_0x031fdc8c(PTR_DAT_070c62d8);
		 *           func_0x031fdc8c(PTR_DAT_070c3338);
		 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *           func_0x031fdc8c(PTR_DAT_070c62e0);
		 *           func_0x031fdc8c(PTR_DAT_070c62e8);
		 *           bRam000000000754ad6a = 1;
		 *         }
		 *         if (this.hasUI == false) {
		 *           uVar7 = func_0x03949758(*(undefined8 *)PTR_DAT_070c62e8,*(undefined8 *)PTR_DAT_070c62e0);
		 *           if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
		 *             func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *           }
		 *           lVar8 = func_0x03890888(uVar7,*(undefined8 *)PTR_DAT_070c3338);
		 *           if ((lVar8 == 0) ||
		 *              (auVar10 = func_0x037f3038(lVar8,*(undefined8 *)PTR_DAT_070c62d8),
		 *              this_00 = auVar10._0_8_, this_00 == null)) {
		 *             IL2CPP.ThrowNullReferenceException();
		 *           }
		 *           BaseView.SetAsGlobalView(this_00);
		 *           func_0x031fdc38(&stack0xffffffffffffffd8,0);
		 *           *(undefined8 *)(this_00 + 1) = 0;
		 *           func_0x031fdc38(this_00 + 1,0);
		 *           BaseView.Hide(this_00);
		 *           this.hasUI = true;
		 *         }
		 *         return;
		 *       }
		 *     }
		 *   }
		 *   return;
		 */
		// RVA: 0x32953B8 VA: 0x78189803B8
		private void SetupDetectionUI(System.Action onWindowClosed);
		/*
		 *   undefined8 uVar1;
		 *   long lVar2;
		 *   BaseView *this_00;
		 *   void *methodInfo_00;
		 *   undefined1 auVar3 [16];
		 *   void *pvStack_28;
		 *
		 *   if ((bRam000000000754ad6a & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c62d8);
		 *     func_0x031fdc8c(PTR_DAT_070c3338);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     func_0x031fdc8c(PTR_DAT_070c62e0);
		 *     func_0x031fdc8c(PTR_DAT_070c62e8);
		 *     bRam000000000754ad6a = 1;
		 *   }
		 *   pvStack_28 = null;
		 *   if (this.hasUI == false) {
		 *     uVar1 = func_0x03949758(*(undefined8 *)PTR_DAT_070c62e8,*(undefined8 *)PTR_DAT_070c62e0);
		 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
		 *       func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     }
		 *     lVar2 = func_0x03890888(uVar1,*(undefined8 *)PTR_DAT_070c3338);
		 *     if ((lVar2 == 0) ||
		 *        (auVar3 = func_0x037f3038(lVar2,*(undefined8 *)PTR_DAT_070c62d8), this_00 = auVar3._0_8_,
		 *        this_00 == null)) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     BaseView.SetAsGlobalView(this_00);
		 *     pvStack_28 = onWindowClosed;
		 *     func_0x031fdc38(&pvStack_28,onWindowClosed);
		 *     *(void **)(this_00 + 1) = pvStack_28;
		 *     func_0x031fdc38(this_00 + 1,0);
		 *     BaseView.Hide(this_00);
		 *     this.hasUI = true;
		 *   }
		 *   return;
		 */
		// RVA: 0x32951A4 VA: 0x78189801A4
		private void CreateMonoWrapper();
		/*
		 *   undefined *puVar1;
		 *   ulong uVar2;
		 *   void *extraout_x1;
		 *   void **ppvVar3;
		 *   void *pvVar4;
		 *
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000754ad6b & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c62b0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     func_0x031fdc8c(PTR_DAT_070c62b8);
		 *     bRam000000000754ad6b = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   ppvVar3 = &this.monoWrapper;
		 *   pvVar4 = *ppvVar3;
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar1,methodInfo);
		 *   }
		 *   uVar2 = UnityEngine.Object.op_Inequality(pvVar4,null);
		 *   puVar1 = PTR_DAT_070c62b8;
		 *   if ((uVar2 & 1) != 0) {
		 *     return;
		 *   }
		 *   pvVar4 = (void *)func_0x031fdf24(*(undefined8 *)
		 *                                     typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548);
		 *   UnityEngine.GameObject..ctor(pvVar4,*(void **)puVar1);
		 *   if (pvVar4 != null) {
		 *     pvVar4 = (void *)func_0x037f2fa8(pvVar4,*(undefined8 *)PTR_DAT_070c62b0);
		 *     *ppvVar3 = pvVar4;
		 *     if (iRam00000000077785f0 != 0) {
		 *       func_0x032ed0c0(1L << ((ulong)ppvVar3 >> 0xc & 0x3f),
		 *                       ((ulong)ppvVar3 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *     }
		 *     return;
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3295560 VA: 0x7818980560
		public void InvokeCoroutine(System.Collections.IEnumerator coroutine);
		/*
		 *   void *pvVar1;
		 *   ulong uVar2;
		 *   void *this_00;
		 *   undefined8 uVar3;
		 *   long lVar4;
		 *
		 *   pvVar1 = this.monoWrapper;
		 *   if (pvVar1 == null) {
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   if (coroutine == null) {
		 *     func_0x031fdca0(PTR_DAT_070c9118,0,0);
		 *     this_00 = (void *)func_0x031fdf24();
		 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
		 *     NullReferenceException..ctor(this_00,pvVar1);
		 *   }
		 *   else {
		 *     uVar2 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
		 *     if ((uVar2 & 1) != 0) {
		 *       if ((bRam000000000755f8f7 & 1) == 0) {
		 *         func_0x031fdc8c(PTR_DAT_0714f590);
		 *         bRam000000000755f8f7 = 1;
		 *       }
		 *       if (pvVar1 != null) {
		 *         lVar4 = *(long *)((long)pvVar1 + 0x10);
		 *         if (lVar4 == 0) {
		 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar1);
		 *         }
		 *         if (pcRam000000000755f968 == null) {
		 *           pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
		 *         }
		 *         (*pcRam000000000755f968)(lVar4,coroutine);
		 *         return;
		 *       }
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     func_0x031fdca0(PTR_DAT_070c6fb0);
		 *     this_00 = (void *)func_0x031fdf24();
		 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
		 *     System.ArgumentException..ctor(this_00,pvVar1);
		 *   }
		 *   uVar3 = func_0x031fdca0(PTR_DAT_0714f5d0);
		 *   IL2CPP.ThrowManagedException();
		 */
		// RVA: 0x2FEDB64 VA: 0x78186D8B64
		public PixelSecurity.Modules.ISecurityModule SetupModule(PixelSecurity.Modules.ISecurityModule module);
		/*
		 *   undefined8 uStack_18;
		 *   undefined8 uStack_8;
		 *
		 *   uStack_8 = param_2;
		 *   (*(code *)param_3[2])(*param_3,param_3,param_1,&uStack_8,&uStack_18);
		 *   return uStack_18;
		 */
		// RVA: 0x2FED9F0 VA: 0x78186D89F0
		public PixelSecurity.Modules.ISecurityModule GetModule();
		/*
		 *   undefined8 uStack_8;
		 *
		 *   (*(code *)param_2[2])(*param_2,param_2,param_1,0,&uStack_8);
		 *   return uStack_8;
		 */
		// RVA: 0x2FECB08 VA: 0x78186D7B08
		public bool HasModule();
		/*
		 *   undefined1 auStack_4 [4];
		 *
		 *   (*(code *)param_2[2])(*param_2,param_2,param_1,0,auStack_4);
		 *   return auStack_4[0];
		 */
		// RVA: 0x2FEEE94 VA: 0x78186D9E94
		public void RemoveModule();
		/*
		 *   (*(code *)param_2[2])(*param_2,param_2,param_1,0,0);
		 *   return;
		 */
		// RVA: 0x3295580 VA: 0x7818980580
		public void CreateSecurityWarning(string message, PixelSecurity.Modules.ISecurityModule module);
		/*
		 *   undefined *puVar1;
		 *   SecurityWarningHandler *this_00;
		 *   undefined8 *puVar2;
		 *   long lVar3;
		 *   ulong uVar4;
		 *   int *piVar5;
		 *   long *plVar6;
		 *
		 *   if ((bRam000000000754ad6c & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c62f0);
		 *     func_0x031fdc8c(PTR_DAT_070c62f8);
		 *     bRam000000000754ad6c = 1;
		 *   }
		 *   plVar6 = this.OnSecurityMessage;
		 *   if (plVar6 == 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 = message;
		 *   func_0x031fdc38(&this_00->message,message);
		 *   this_00->module = module;
		 *   func_0x031fdc38(&this_00->module,module);
		 *   lVar3 = *plVar6;
		 *   uVar4 = (ulong)*(ushort *)(lVar3 + 0x12e);
		 *   if (uVar4 != 0) {
		 *     piVar5 = (int *)(*(long *)(lVar3 + 0xb0) + 8);
		 *     do {
		 *       if (*(long *)(piVar5 + -2) == *(long *)puVar1) {
		 *         puVar2 = (undefined8 *)(lVar3 + (long)*piVar5 * 0x10 + 0x138);
		 *         goto LAB_03395670;
		 *       }
		 *       uVar4 = uVar4 - 1;
		 *       piVar5 = piVar5 + 4;
		 *     } while (uVar4 != 0);
		 *   }
		 *   puVar2 = (undefined8 *)func_0x03237558(plVar6,*(long *)puVar1,0);
		 * LAB_03395670:
		 *   (*(code *)*puVar2)(plVar6,this_00,0,puVar2[1]);
		 *   return;
		 */
		// RVA: 0x3295694 VA: 0x7818980694
		public void CallGameLoop(bool isFixed, float deltaTime);
		/*
		 *   undefined8 *puVar1;
		 *   long lVar2;
		 *   long lVar3;
		 *   ulong uVar4;
		 *   int *piVar5;
		 *   long *plVar6;
		 *
		 *   if ((bRam000000000754ad6d & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c6300);
		 *     bRam000000000754ad6d = 1;
		 *   }
		 *   if (isFixed) {
		 *     plVar6 = this.OnLoopFixedUpdate;
		 *     if (plVar6 == null) {
		 *       return;
		 *     }
		 *     lVar3 = *plVar6;
		 *     uVar4 = (ulong)*(ushort *)(lVar3 + 0x12e);
		 *     lVar2 = *(long *)PTR_DAT_070c6300;
		 *     if (uVar4 != 0) {
		 *       piVar5 = (int *)(*(long *)(lVar3 + 0xb0) + 8);
		 *       do {
		 *         if (*(long *)(piVar5 + -2) == lVar2) goto LAB_03395774;
		 *         uVar4 = uVar4 - 1;
		 *         piVar5 = piVar5 + 4;
		 *       } while (uVar4 != 0);
		 *     }
		 *   }
		 *   else {
		 *     plVar6 = this.OnLoopUpdate;
		 *     if (plVar6 == null) {
		 *       return;
		 *     }
		 *     lVar3 = *plVar6;
		 *     uVar4 = (ulong)*(ushort *)(lVar3 + 0x12e);
		 *     lVar2 = *(long *)PTR_DAT_070c6300;
		 *     if (uVar4 != 0) {
		 *       piVar5 = (int *)(*(long *)(lVar3 + 0xb0) + 8);
		 *       do {
		 *         if (*(long *)(piVar5 + -2) == lVar2) goto LAB_03395774;
		 *         uVar4 = uVar4 - 1;
		 *         piVar5 = piVar5 + 4;
		 *       } while (uVar4 != 0);
		 *     }
		 *   }
		 *   puVar1 = (undefined8 *)func_0x03237558(plVar6,lVar2,0);
		 * LAB_03395780:
		 *   (*(code *)*puVar1)(deltaTime,plVar6,0,puVar1[1]);
		 *   return;
		 * LAB_03395774:
		 *   puVar1 = (undefined8 *)(lVar3 + (long)*piVar5 * 0x10 + 0x138);
		 *   goto LAB_03395780;
		 */
	}
}
