namespace ExitGames.Demos.DemoPunVoice
{

	// [TypeInfo RVA: 0x0]
	public class BetterToggle : MonoBehaviour
	{
		private UnityEngine.UI.Toggle toggle; // 0x20
		private static ExitGames.Demos.DemoPunVoice.BetterToggle.OnToggle ToggleValueChanged; // 0x0

		// RVA: 0x327FEA4 VA: 0x781896AEA4
		public static void add_ToggleValueChanged(ExitGames.Demos.DemoPunVoice.BetterToggle.OnToggle value);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   bool bVar3;
		 *   long *plVar4;
		 *   void *pvVar5;
		 *   void *a;
		 *
		 *   puVar1 = PTR_DAT_070c58e8;
		 *   if ((bRam000000000754ac95 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c58e8);
		 *     func_0x031fdc8c(PTR_DAT_070c58f0);
		 *     bRam000000000754ac95 = 1;
		 *   }
		 *   puVar2 = PTR_DAT_070c58f0;
		 *   a = (void *)**(undefined8 **)(*(long *)puVar1 + 0xb8);
		 *   while ((plVar4 = System.Delegate.Combine(a,value), plVar4 == null
		 *          || (*plVar4 == *(long *)puVar2))) {
		 *     pvVar5 = (void *)func_0x03236d84(*(undefined8 *)(*(long *)puVar1 + 0xb8),plVar4,a);
		 *     bVar3 = pvVar5 == a;
		 *     a = pvVar5;
		 *     if (bVar3) {
		 *       return;
		 *     }
		 *   }
		 *   noreturn_helper_30fe2b4(plVar4);
		 */
		// RVA: 0x327FF5C VA: 0x781896AF5C
		public static void remove_ToggleValueChanged(ExitGames.Demos.DemoPunVoice.BetterToggle.OnToggle value);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   bool bVar3;
		 *   long *plVar4;
		 *   void *pvVar5;
		 *   void *source;
		 *
		 *   puVar1 = PTR_DAT_070c58e8;
		 *   if ((bRam000000000754ac96 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c58e8);
		 *     func_0x031fdc8c(PTR_DAT_070c58f0);
		 *     bRam000000000754ac96 = 1;
		 *   }
		 *   puVar2 = PTR_DAT_070c58f0;
		 *   source = (void *)**(undefined8 **)(*(long *)puVar1 + 0xb8);
		 *   while ((plVar4 = System.Delegate.Remove(source,value),
		 *          plVar4 == null || (*plVar4 == *(long *)puVar2))) {
		 *     pvVar5 = (void *)func_0x03236d84(*(undefined8 *)(*(long *)puVar1 + 0xb8),plVar4,source);
		 *     bVar3 = pvVar5 == source;
		 *     source = pvVar5;
		 *     if (bVar3) {
		 *       return;
		 *     }
		 *   }
		 *   noreturn_helper_30fe2b4(plVar4);
		 */
		// RVA: 0x3280014 VA: 0x781896B014
		private void Start();
		/*
		 *   uint uVar1;
		 *   undefined *puVar2;
		 *   void *pvVar3;
		 *   undefined8 uVar4;
		 *   long lVar5;
		 *   long lVar6;
		 *   undefined8 *puVar7;
		 *   long lVar8;
		 *   void **ppvVar9;
		 *   long lVar10;
		 *
		 *   puVar2 = PTR_DAT_070c58f8;
		 *   if ((bRam000000000754ac97 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c5900);
		 *     func_0x031fdc8c(PTR_DAT_070c58f8);
		 *     func_0x031fdc8c(PTR_DAT_070c5908);
		 *     func_0x031fdc8c(PTR_DAT_070c5910);
		 *     bRam000000000754ac97 = 1;
		 *   }
		 *   pvVar3 = (void *)func_0x0373df50(this,*(undefined8 *)puVar2);
		 *   ppvVar9 = &this.toggle;
		 *   *ppvVar9 = pvVar3;
		 *   func_0x031fdc38(ppvVar9,pvVar3);
		 *   puVar2 = PTR_DAT_070c5900;
		 *   if (*ppvVar9 != null) {
		 *     lVar10 = *(long *)((long)*ppvVar9 + 0x118);
		 *     uVar4 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c5908);
		 *     func_0x048ad01c(uVar4,this,*(undefined8 *)puVar2,0);
		 *     if (lVar10 != 0) {
		 *       uVar4 = func_0x048e6ab4(uVar4,*(undefined8 *)
		 *                                      (*(long *)(*(long *)(*(long *)PTR_DAT_070c5910 + 0x20) + 0xc0)
		 *                                      + 0x10));
		 *       if (lVar10 == 0) {
		 *         IL2CPP.ThrowNullReferenceException();
		 *       }
		 *       lVar10 = *(long *)(lVar10 + 0x10);
		 *       if (lVar10 != 0) {
		 *         if ((bRam0000000007560144 & 1) == 0) {
		 *           func_0x031fdc8c(PTR_DAT_0714f990);
		 *           bRam0000000007560144 = 1;
		 *         }
		 *         lVar5 = *(long *)(lVar10 + 0x18);
		 *         if (lVar5 != 0) {
		 *           lVar6 = *(long *)(lVar5 + 0x10);
		 *           lVar8 = *(long *)PTR_DAT_0714f990;
		 *           *(int *)(lVar5 + 0x1c) = *(int *)(lVar5 + 0x1c) + 1;
		 *           if (lVar6 != 0) {
		 *             uVar1 = *(uint *)(lVar5 + 0x18);
		 *             if (uVar1 < *(uint *)(lVar6 + 0x18)) {
		 *               *(uint *)(lVar5 + 0x18) = uVar1 + 1;
		 *               puVar7 = (undefined8 *)(lVar6 + (long)(int)uVar1 * 8 + 0x20);
		 *               *puVar7 = uVar4;
		 *               func_0x031fdc38(puVar7,uVar4);
		 *             }
		 *             else {
		 *               func_0x03f2d704(lVar5,uVar4,
		 *                               *(undefined8 *)(*(long *)(*(long *)(lVar8 + 0x20) + 0xc0) + 0x70));
		 *             }
		 *             *(undefined1 *)(lVar10 + 0x28) = 1;
		 *             return;
		 *           }
		 *         }
		 *         IL2CPP.ThrowNullReferenceException();
		 *       }
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32800EC VA: 0x781896B0EC
		public void OnToggleValueChanged();
		/*
		 *   undefined *puVar1;
		 *   long lVar2;
		 *
		 *   puVar1 = PTR_DAT_070c58e8;
		 *   if ((bRam000000000754ac98 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c58e8,p0);
		 *     bRam000000000754ac98 = 1;
		 *   }
		 *   lVar2 = **(long **)(*(long *)puVar1 + 0xb8);
		 *   if (lVar2 != 0) {
		 *     (**(code **)(lVar2 + 0x18))
		 *               (*(undefined8 *)(lVar2 + 0x40),this.toggle,*(undefined8 *)(lVar2 + 0x28));
		 *     return;
		 *   }
		 *   return;
		 */
		// RVA: 0x3280158 VA: 0x781896B158
		public void .ctor();
		/*
		 *   undefined *puVar1;
		 *
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000755f76f & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
		 *     bRam000000000755f76f = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   return;
		 */
		// RVA: 0x3280160 VA: 0x781896B160
		private void <Start>b__5_0(bool <p0>);
		/*
		 *   undefined *puVar1;
		 *   long lVar2;
		 *
		 *   puVar1 = PTR_DAT_070c58e8;
		 *   if ((bRam000000000754ac98 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c58e8,p0);
		 *     bRam000000000754ac98 = 1;
		 *   }
		 *   lVar2 = **(long **)(*(long *)puVar1 + 0xb8);
		 *   if (lVar2 != 0) {
		 *     (**(code **)(lVar2 + 0x18))
		 *               (*(undefined8 *)(lVar2 + 0x40),this.toggle,*(undefined8 *)(lVar2 + 0x28));
		 *     return;
		 *   }
		 *   return;
		 */
	}
}
