// [TypeInfo RVA: 0x0]
public class JoinSound : MonoBehaviour
{
	public System.String[] scenesToEncrypt; // 0x20

	// RVA: 0x320DAB8 VA: 0x78188F8AB8
	private void Awake();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   void *pvVar6;
	 *   long lVar7;
	 *   void *pvVar8;
	 *   long lVar9;
	 *   void *a;
	 *   undefined8 uVar10;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a7fb & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1a20);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28);
	 *     func_0x031fdc8c(PTR_DAT_070c1a30);
	 *     bRam000000000754a7fb = 1;
	 *   }
	 *   puVar4 = PTR_DAT_070c1a30;
	 *   puVar3 = typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28;
	 *   puVar2 = PTR_DAT_070c1a20;
	 *   pvVar6 = UnityEngine.Component.get_gameObject(this);
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1);
	 *   }
	 *   UnityEngine.Object.DontDestroyOnLoad(pvVar6);
	 *   pvVar6 = (void *)func_0x031fdf24(*(undefined8 *)puVar4);
	 *   func_0x048ae430(pvVar6,this,*(undefined8 *)puVar2,0);
	 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28;
	 *   if ((bRam00000000075601dd & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28,0);
	 *     func_0x031fdc8c(PTR_DAT_070c1a30);
	 *     bRam00000000075601dd = 1;
	 *   }
	 *   lVar7 = *(long *)puVar1;
	 *   if (*(int *)(lVar7 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *     lVar7 = *(long *)puVar1;
	 *   }
	 *   puVar2 = PTR_DAT_070c1a30;
	 *   a = *(void **)(*(long *)(lVar7 + 0xb8) + 8);
	 *   do {
	 *     pvVar8 = System.Delegate.Combine(a,pvVar6);
	 *     if (pvVar8 == null) {
	 *       lVar7 = 0;
	 *     }
	 *     else {
	 *       uVar10 = *(undefined8 *)puVar2;
	 *       lVar7 = func_0x031fde0c(pvVar8,uVar10);
	 *       if (lVar7 == 0) {
	 *         noreturn_helper_30fe2b4(pvVar8,uVar10);
	 *       }
	 *     }
	 *     lVar9 = *(long *)puVar1;
	 *     if (*(int *)(lVar9 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar9 = *(long *)puVar1;
	 *     }
	 *     pvVar8 = (void *)func_0x03236d84(*(long *)(lVar9 + 0xb8) + 8,lVar7,a);
	 *     bVar5 = pvVar8 != a;
	 *     a = pvVar8;
	 *   } while (bVar5);
	 *   return;
	 */
	// RVA: 0x320DBA0 VA: 0x78188F8BA0
	private void Start();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *pvVar3;
	 *   void *extraout_x1;
	 *   void *methodInfo_00;
	 *   void *in_x2;
	 *   undefined4 uStack_24;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28;
	 *   if ((bRam000000000754a7fc & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28);
	 *     bRam000000000754a7fc = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   uStack_24 = 0;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   uStack_24 = UnityEngine.SceneManagement.SceneManager.GetActiveScene();
	 *   pvVar3 = UnityEngine.SceneManagement.Scene.get_name(&uStack_24);
	 *   bVar2 = JoinSound.ShouldEncryptScene(this,pvVar3);
	 *   if (bVar2) {
	 *     pvVar3 = JoinSound.EncryptAfterDelay(this);
	 *     UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar3);
	 *   }
	 *   return;
	 */
	// RVA: 0x320DC40 VA: 0x78188F8C40
	private void OnSceneLoaded(UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode);
	/*
	 *   bool bVar1;
	 *   void *pvVar2;
	 *   void *methodInfo;
	 *   undefined4 uStack_14;
	 *
	 *   uStack_14 = param_2;
	 *   pvVar2 = UnityEngine.SceneManagement.Scene.get_name(&uStack_14);
	 *   bVar1 = JoinSound.ShouldEncryptScene(param_1,pvVar2);
	 *   if (bVar1) {
	 *     pvVar2 = JoinSound.EncryptAfterDelay(param_1);
	 *     UnityEngine.MonoBehaviour.StartCoroutine(param_1,pvVar2);
	 *   }
	 *   return;
	 */
	// RVA: 0x320DC90 VA: 0x78188F8C90
	private bool ShouldEncryptScene(string sceneName);
	/*
	 *   bool bVar1;
	 *   ulong uVar2;
	 *   void *pvVar3;
	 *   ulong uVar4;
	 *
	 *   pvVar3 = this.scenesToEncrypt;
	 *   if ((pvVar3 == null) || (uVar2 = *(ulong *)((long)pvVar3 + 0x18), uVar2 == 0)) {
	 *     bVar1 = true;
	 *   }
	 *   else if ((int)uVar2 < 1) {
	 *     bVar1 = false;
	 *   }
	 *   else {
	 *     uVar4 = 0;
	 *     do {
	 *       if ((uVar2 & 0xffffffff) <= uVar4) {
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *       bVar1 = System.String.op_Equality(*(void **)((long)pvVar3 + uVar4 * 8 + 0x20),sceneName);
	 *       if (bVar1) {
	 *         return true;
	 *       }
	 *       uVar2 = (ulong)*(uint *)((long)pvVar3 + 0x18);
	 *       uVar4 = uVar4 + 1;
	 *       bVar1 = false;
	 *     } while ((long)uVar4 < (long)(int)*(uint *)((long)pvVar3 + 0x18));
	 *   }
	 *   return bVar1;
	 */
	// RVA: 0x320DBA4 VA: 0x78188F8BA4
	private void EncryptCurrentScene();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *pvVar3;
	 *   void *extraout_x1;
	 *   void *methodInfo_00;
	 *   void *in_x2;
	 *   undefined4 uStack_24;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28;
	 *   if ((bRam000000000754a7fc & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28);
	 *     bRam000000000754a7fc = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   uStack_24 = 0;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   uStack_24 = UnityEngine.SceneManagement.SceneManager.GetActiveScene();
	 *   pvVar3 = UnityEngine.SceneManagement.Scene.get_name(&uStack_24);
	 *   bVar2 = JoinSound.ShouldEncryptScene(this,pvVar3);
	 *   if (bVar2) {
	 *     pvVar3 = JoinSound.EncryptAfterDelay(this);
	 *     UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar3);
	 *   }
	 *   return;
	 */
	// RVA: 0x320DD14 VA: 0x78188F8D14
	private System.Collections.IEnumerator EncryptAfterDelay();
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *   void *extraout_x1;
	 *
	 *   puVar1 = PTR_DAT_070c1a38;
	 *   if ((bRam000000000754a7fd & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1a38);
	 *     bRam000000000754a7fd = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1,methodInfo);
	 *   System.Object..ctor(this_00);
	 *   *(undefined4 *)((long)this_00 + 0x10) = 0;
	 *   *(undefined8 *)((long)this_00 + 0x20) = this;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x20),this);
	 *   return this_00;
	 */
	// RVA: 0x320DDA8 VA: 0x78188F8DA8
	private void EncryptAllGameObjects();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   long lVar3;
	 *   JoinSound *this_00;
	 *   void *extraout_x1;
	 *   void *pvVar4;
	 *   ulong uVar5;
	 *   void *this_01;
	 *   ulong uVar6;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a7fe & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1a40);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a7fe = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   puVar2 = PTR_DAT_070c1a40;
	 *   lVar3 = *(long *)puVar1;
	 *   if (*(int *)(lVar3 + 0xe4) == 0) {
	 *     func_0x031fde08(lVar3,methodInfo);
	 *   }
	 *   lVar3 = func_0x03890744(*(undefined8 *)puVar2);
	 *   if (lVar3 != 0) {
	 *     if (0 < (int)*(ulong *)(lVar3 + 0x18)) {
	 *       uVar6 = 0;
	 *       uVar5 = *(ulong *)(lVar3 + 0x18) & 0xffffffff;
	 *       do {
	 *         if (uVar5 <= uVar6) {
	 *           IL2CPP.ThrowIndexOutOfRangeException();
	 *         }
	 *         this_01 = *(void **)(lVar3 + 0x20 + uVar6 * 8);
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         pvVar4 = null;
	 *         uVar5 = UnityEngine.Object.op_Inequality(this_01,null);
	 *         if ((uVar5 & 1) != 0) {
	 *           if (this_01 == null) goto LAB_0330dea4;
	 *           this_00 = UnityEngine.Object.get_name(this_01);
	 *           pvVar4 = JoinSound.RandomizeName(this_00,this_00);
	 *           UnityEngine.Object.set_name(this_01,pvVar4);
	 *         }
	 *         uVar5 = (ulong)*(uint *)(lVar3 + 0x18);
	 *         uVar6 = uVar6 + 1;
	 *       } while ((long)uVar6 < (long)(int)*(uint *)(lVar3 + 0x18));
	 *     }
	 *     return;
	 *   }
	 * LAB_0330dea4:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x320DEA8 VA: 0x78188F8EA8
	private string RandomizeName(string input);
	/*
	 *   long lVar1;
	 *   uint uVar2;
	 *   undefined2 uVar3;
	 *   bool bVar4;
	 *   uint uVar5;
	 *   void *pvVar6;
	 *   void *pvVar7;
	 *   ulong uVar8;
	 *   ulong uVar9;
	 *
	 *   bVar4 = System.String.IsNullOrEmpty(input);
	 *   if (bVar4) {
	 *     return input;
	 *   }
	 *   if ((input != null) &&
	 *      (pvVar6 = System.String.ToCharArray(input), pvVar6 != null)) {
	 *     uVar8 = *(ulong *)((long)pvVar6 + 0x18);
	 *     if (0 < (int)uVar8) {
	 *       uVar9 = 0;
	 *       do {
	 *         uVar5 = Random.Range(0,(int)uVar8);
	 *         uVar2 = *(uint *)((long)pvVar6 + 0x18);
	 *         uVar8 = (ulong)uVar2;
	 *         if ((uVar8 <= uVar9) || (uVar2 <= uVar5)) {
	 *           IL2CPP.ThrowIndexOutOfRangeException();
	 *         }
	 *         uVar3 = *(undefined2 *)((long)pvVar6 + uVar9 * 2 + 0x20);
	 *         *(undefined2 *)((long)pvVar6 + uVar9 * 2 + 0x20) =
	 *              *(undefined2 *)((long)pvVar6 + (long)(int)uVar5 * 2 + 0x20);
	 *         uVar9 = uVar9 + 1;
	 *         *(undefined2 *)((long)pvVar6 + (long)(int)uVar5 * 2 + 0x20) = uVar3;
	 *       } while ((long)uVar9 < (long)(int)uVar2);
	 *     }
	 *     if ((pvVar6 == null) || (*(long *)((long)pvVar6 + 0x18) == 0)) {
	 *       pvVar7 = (void *)**(long **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
	 *     }
	 *     else {
	 *       pvVar7 = (void *)func_0x03214b40(*(long *)((long)pvVar6 + 0x18),pvVar6,0);
	 *       if (pvVar7 == null) {
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *       lVar1 = 0;
	 *       if (*(int *)((long)pvVar6 + 0x18) != 0) {
	 *         lVar1 = (long)pvVar6 + 0x20;
	 *       }
	 *       System.Linq.Buffer.Memmove((long)pvVar7 + 0x14,lVar1,*(int *)((long)pvVar6 + 0x18) << 1);
	 *     }
	 *     return pvVar7;
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x320DF60 VA: 0x78188F8F60
	private void OnDestroy();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   bool bVar4;
	 *   void *value;
	 *   long lVar5;
	 *   void *pvVar6;
	 *   long lVar7;
	 *   void *extraout_x1;
	 *   void *source;
	 *   undefined8 uVar8;
	 *
	 *   puVar3 = PTR_DAT_070c1a30;
	 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28;
	 *   puVar1 = PTR_DAT_070c1a20;
	 *   if ((bRam000000000754a7ff & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1a20);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28);
	 *     func_0x031fdc8c(PTR_DAT_070c1a30);
	 *     bRam000000000754a7ff = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   value = (void *)func_0x031fdf24(*(undefined8 *)puVar3,methodInfo);
	 *   func_0x048ae430(value,this,*(undefined8 *)puVar1,0);
	 *   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28;
	 *   if ((bRam00000000075601de & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_SceneManager_6FC1A28,0);
	 *     func_0x031fdc8c(PTR_DAT_070c1a30);
	 *     bRam00000000075601de = 1;
	 *   }
	 *   lVar5 = *(long *)puVar1;
	 *   if (*(int *)(lVar5 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *     lVar5 = *(long *)puVar1;
	 *   }
	 *   puVar2 = PTR_DAT_070c1a30;
	 *   source = *(void **)(*(long *)(lVar5 + 0xb8) + 8);
	 *   do {
	 *     pvVar6 = System.Delegate.Remove(source,value);
	 *     if (pvVar6 == null) {
	 *       lVar5 = 0;
	 *     }
	 *     else {
	 *       uVar8 = *(undefined8 *)puVar2;
	 *       lVar5 = func_0x031fde0c(pvVar6,uVar8);
	 *       if (lVar5 == 0) {
	 *         noreturn_helper_30fe2b4(pvVar6,uVar8);
	 *       }
	 *     }
	 *     lVar7 = *(long *)puVar1;
	 *     if (*(int *)(lVar7 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar7 = *(long *)puVar1;
	 *     }
	 *     pvVar6 = (void *)func_0x03236d84(*(long *)(lVar7 + 0xb8) + 8,lVar5,source);
	 *     bVar4 = pvVar6 != source;
	 *     source = pvVar6;
	 *   } while (bVar4);
	 *   return;
	 */
	// RVA: 0x320E004 VA: 0x78188F9004
	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;
	 */
}
