namespace ExitGames.Demos.DemoPunVoice
{

	// [TypeInfo RVA: 0x0]
	public class CharacterInstantiation : MonoBehaviourPunCallbacks
	{
		public UnityEngine.Transform SpawnPosition; // 0x28
		public float PositionOffset; // 0x30
		public UnityEngine.GameObject[] PrefabsToInstantiate; // 0x38
		public System.Collections.Generic.List<UnityEngine.Transform> SpawnPoints; // 0x40
		public bool AutoSpawn; // 0x48
		public bool UseRandomOffset; // 0x49
		public ExitGames.Demos.DemoPunVoice.CharacterInstantiation.SpawnSequence Sequence; // 0x4C
		private static ExitGames.Demos.DemoPunVoice.CharacterInstantiation.OnCharacterInstantiated CharacterInstantiated; // 0x0
		private byte manualInstantiationEventCode; // 0x50
		protected int lastUsedSpawnPointIndex; // 0x54
		private bool manualInstantiation; // 0x58
		private bool differentPrefabs; // 0x59
		private string localPrefabSuffix; // 0x60
		private string remotePrefabSuffix; // 0x68

		// RVA: 0x3280358 VA: 0x781896B358
		public static void add_CharacterInstantiated(ExitGames.Demos.DemoPunVoice.CharacterInstantiation.OnCharacterInstantiated value);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   bool bVar3;
		 *   long *plVar4;
		 *   void *pvVar5;
		 *   void *a;
		 *
		 *   puVar2 = PTR_DAT_070c5928;
		 *   if ((bRam000000000754aca2 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c5928);
		 *     func_0x031fdc8c(PTR_DAT_070c5918);
		 *     bRam000000000754aca2 = 1;
		 *   }
		 *   puVar1 = PTR_DAT_070c5918;
		 *   a = (void *)**(undefined8 **)(*(long *)puVar2 + 0xb8);
		 *   while ((plVar4 = System.Delegate.Combine(a,value), plVar4 == null
		 *          || (*plVar4 == *(long *)puVar1))) {
		 *     pvVar5 = (void *)func_0x03236d84(*(undefined8 *)(*(long *)puVar2 + 0xb8),plVar4,a);
		 *     bVar3 = pvVar5 == a;
		 *     a = pvVar5;
		 *     if (bVar3) {
		 *       return;
		 *     }
		 *   }
		 *   noreturn_helper_30fe2b4(plVar4);
		 */
		// RVA: 0x32804BC VA: 0x781896B4BC
		public static void remove_CharacterInstantiated(ExitGames.Demos.DemoPunVoice.CharacterInstantiation.OnCharacterInstantiated value);
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   bool bVar3;
		 *   long *plVar4;
		 *   void *pvVar5;
		 *   void *source;
		 *
		 *   puVar2 = PTR_DAT_070c5928;
		 *   if ((bRam000000000754aca3 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c5928);
		 *     func_0x031fdc8c(PTR_DAT_070c5918);
		 *     bRam000000000754aca3 = 1;
		 *   }
		 *   puVar1 = PTR_DAT_070c5918;
		 *   source = (void *)**(undefined8 **)(*(long *)puVar2 + 0xb8);
		 *   while ((plVar4 = System.Delegate.Remove(source,value),
		 *          plVar4 == null || (*plVar4 == *(long *)puVar1))) {
		 *     pvVar5 = (void *)func_0x03236d84(*(undefined8 *)(*(long *)puVar2 + 0xb8),plVar4,source);
		 *     bVar3 = pvVar5 == source;
		 *     source = pvVar5;
		 *     if (bVar3) {
		 *       return;
		 *     }
		 *   }
		 *   noreturn_helper_30fe2b4(plVar4);
		 */
		// RVA: 0x3280C48 VA: 0x781896BC48
		public override void OnJoinedRoom();
		/*
		 *   int iVar1;
		 *   int iVar2;
		 *   uint index;
		 *   int iVar3;
		 *   UnityEngine_Vector4 rotation;
		 *   UnityEngine_Vector4 rotation_00;
		 *   UnityEngine_Vector3 position;
		 *   undefined *puVar4;
		 *   long lVar5;
		 *   void *pvVar6;
		 *   void *extraout_x1;
		 *   undefined8 *methodInfo_00;
		 *   UnityEngine_Vector3 UVar7;
		 *   UnityEngine_Vector3 value;
		 *   undefined8 uStack_90;
		 *   undefined8 uStack_88;
		 *   float fStack_80;
		 *   float fStack_7c;
		 *   float fStack_78;
		 *
		 *   methodInfo_00 = &uStack_90;
		 *   if ((bRam000000000754aca4 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c5928);
		 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
		 *     bRam000000000754aca4 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar4 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
		 *   fStack_78 = 0.0;
		 *   uStack_88 = 0;
		 *   fStack_80 = 0.0;
		 *   fStack_7c = 0.0;
		 *   uStack_90 = 0;
		 *   if (this.AutoSpawn == false) {
		 *     return;
		 *   }
		 *   if (this.PrefabsToInstantiate == null) {
		 *     return;
		 *   }
		 *   if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0,methodInfo);
		 *   }
		 *   lVar5 = Photon.Pun.PhotonNetwork.get_LocalPlayer();
		 *   if ((lVar5 != 0) && (this.PrefabsToInstantiate != null)) {
		 *     iVar1 = *(int *)(lVar5 + 0x18);
		 *     iVar2 = *(int *)((long)this.PrefabsToInstantiate + 0x18);
		 *     if (iVar1 < 2) {
		 *       iVar1 = 1;
		 *     }
		 *     (**(code **)(*(long *)this + 0x4a8))
		 *               (this,&fStack_80,&uStack_90,*(undefined8 *)(*(long *)this + 0x4b0));
		 *     pvVar6 = UnityEngine.Camera.get_main();
		 *     if ((pvVar6 != null) &&
		 *        (pvVar6 = UnityEngine.Component.get_transform(pvVar6),
		 *        pvVar6 != null)) {
		 *       iVar3 = 0;
		 *       if (iVar2 != 0) {
		 *         iVar3 = (iVar1 + -1) / iVar2;
		 *       }
		 *       index = (iVar1 + -1) - iVar3 * iVar2;
		 *       UVar7 = UnityEngine.Transform.get_position(pvVar6);
		 *       value.x = UVar7.x + fStack_80;
		 *       value.y = UVar7.y + fStack_7c;
		 *       value.z = UVar7.z + fStack_78;
		 *       UnityEngine.Transform.set_position(pvVar6,value);
		 *       if (this.manualInstantiation != false) {
		 *         rotation.z = (float)(undefined4)uStack_88;
		 *         rotation.w = (float)uStack_88._4_4_;
		 *         rotation.x = (float)(undefined4)uStack_90;
		 *         rotation.y = (float)uStack_90._4_4_;
		 *         UVar7.y = fStack_7c;
		 *         UVar7.x = fStack_80;
		 *         UVar7.z = fStack_78;
		 *         CharacterInstantiation.ManualInstantiation(this,index,UVar7,rotation);
		 *         return;
		 *       }
		 *       pvVar6 = this.PrefabsToInstantiate;
		 *       if (pvVar6 != null) {
		 *         if (*(uint *)((long)pvVar6 + 0x18) <= index) {
		 *           IL2CPP.ThrowIndexOutOfRangeException();
		 *         }
		 *         pvVar6 = *(void **)((long)pvVar6 + (ulong)index * 8 + 0x20);
		 *         if (pvVar6 != null) {
		 *           pvVar6 = UnityEngine.Object.get_name(pvVar6);
		 *           rotation_00.z = (float)(undefined4)uStack_88;
		 *           rotation_00.w = (float)uStack_88._4_4_;
		 *           rotation_00.x = (float)(undefined4)uStack_90;
		 *           rotation_00.y = (float)uStack_90._4_4_;
		 *           position.y = fStack_7c;
		 *           position.x = fStack_80;
		 *           position.z = fStack_78;
		 *           if (*(int *)(*(long *)puVar4 + 0xe4) == 0) {
		 *             func_0x031fde08(*(long *)puVar4);
		 *           }
		 *           pvVar6 = Photon.Pun.PhotonNetwork.Instantiate(pvVar6,position,rotation_00,0,null);
		 *           lVar5 = **(long **)(*(long *)PTR_DAT_070c5928 + 0xb8);
		 *           if (lVar5 == 0) {
		 *             return;
		 *           }
		 *           (**(code **)(lVar5 + 0x18))
		 *                     (*(undefined8 *)(lVar5 + 0x40),pvVar6,*(undefined8 *)(lVar5 + 0x28));
		 *           return;
		 *         }
		 *       }
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3280E5C VA: 0x781896BE5C
		private void ManualInstantiation(int index, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation);
		/*
		 *   byte bVar1;
		 *   undefined *puVar2;
		 *   undefined *puVar3;
		 *   bool bVar4;
		 *   void *pvVar5;
		 *   long lVar6;
		 *   void *pvVar7;
		 *   undefined8 extraout_x1;
		 *   undefined8 extraout_x1_00;
		 *   void *pvVar8;
		 *   long lVar9;
		 *   long *plVar10;
		 *   undefined8 uVar11;
		 *   UnityEngine_Vector3 UVar12;
		 *   UnityEngine_Vector4 UVar13;
		 *   float fStack_9c;
		 *   float fStack_98;
		 *   float fStack_94;
		 *   float fStack_90;
		 *   float fStack_8c;
		 *   float fStack_88;
		 *   float fStack_84;
		 *   undefined4 uStack_78;
		 *   int iStack_74;
		 *
		 *   if ((bRam000000000754aca5 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c5928);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
		 *     func_0x031fdc8c(PTR_DAT_070c0a28);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548);
		 *     func_0x031fdc8c(PTR_DAT_070c0a10);
		 *     func_0x031fdc8c(PTR_DAT_070c16f0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Quaternion_6FC0EA0);
		 *     func_0x031fdc8c(typeinfo_ptr_PhotonRealtime_RaiseEventOptions_6FC18A8);
		 *     func_0x031fdc8c(PTR_DAT_070c18b0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
		 *     func_0x031fdc8c(PTR_DAT_070c5960);
		 *     func_0x031fdc8c(PTR_DAT_070c5968);
		 *     bRam000000000754aca5 = 1;
		 *   }
		 *   puVar3 = PTR_DAT_070c5960;
		 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   pvVar8 = this.PrefabsToInstantiate;
		 *   if (pvVar8 != null) {
		 *     if (*(uint *)((long)pvVar8 + 0x18) <= (uint)index) goto LAB_03381360;
		 *     plVar10 = *(long **)((long)pvVar8 + (long)index * 8 + 0x20);
		 *     if (this.differentPrefabs == false) {
		 *       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
		 *         func_0x031fde08();
		 *       }
		 *     }
		 *     else {
		 *       if (plVar10 == null) goto LAB_0338135c;
		 *       pvVar8 = UnityEngine.Object.get_name(plVar10);
		 *       pvVar8 = System.String.Format(*(void **)puVar3,pvVar8,this.localPrefabSuffix);
		 *       plVar10 = (long *)UnityEngine.UI.DefaultControls.Resources.Load(pvVar8);
		 *       lVar9 = *(long *)puVar2;
		 *       if (*(int *)(lVar9 + 0xe4) == 0) {
		 *         func_0x031fde08(lVar9);
		 *       }
		 *       if ((plVar10 != null) &&
		 *          (*plVar10 != *(long *)typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548)) {
		 *         plVar10 = null;
		 *       }
		 *     }
		 *     pvVar8 = (void *)func_0x03890c2c(position.x,position.y,position.z,rotation.x,rotation.y,
		 *                                      rotation.z,rotation.w,plVar10,*(undefined8 *)PTR_DAT_070c16f0);
		 *     puVar3 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
		 *     if (pvVar8 != null) {
		 *       pvVar5 = (void *)func_0x037f3038(pvVar8,*(undefined8 *)PTR_DAT_070c0a28);
		 *       lVar9 = *(long *)puVar3;
		 *       if (*(int *)(lVar9 + 0xe4) == 0) {
		 *         func_0x031fde08(lVar9);
		 *       }
		 *       bVar4 = Photon.Pun.PhotonNetwork.AllocateViewID(pvVar5);
		 *       if (!bVar4) {
		 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
		 *           func_0x031fde08();
		 *         }
		 *         UnityEngine.Debug.LogError(*(void **)PTR_DAT_070c5968);
		 *         if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
		 *           func_0x031fde08();
		 *         }
		 *         puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *         uVar11 = 0;
		 *         if ((bRam000000000755fa13 & 1) == 0) {
		 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
		 *           bRam000000000755fa13 = 1;
		 *           uVar11 = extraout_x1;
		 *         }
		 *         if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
		 *           func_0x031fde08();
		 *           uVar11 = extraout_x1_00;
		 *         }
		 *         puVar2 = PTR_DAT_0714e530;
		 *         if ((bRam000000000755fa12 & 1) == 0) {
		 *           func_0x031fdc8c(PTR_DAT_0714e530,uVar11);
		 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *           bRam000000000755fa12 = 1;
		 *         }
		 *         if (*(long *)(*(long *)puVar2 + 0x38) == 0) {
		 *           func_0x03237280();
		 *         }
		 *         uVar11 = 0;
		 *         if (pvVar8 != null) {
		 *           uVar11 = *(undefined8 *)((long)pvVar8 + 0x10);
		 *         }
		 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
		 *           func_0x031fde08();
		 *         }
		 *         if (pcRam000000000755fa68 == null) {
		 *           pcRam000000000755fa68 = (code *)func_0x031fdc50(&UNK_013676ac);
		 *         }
		 *         (*pcRam000000000755fa68)(0,uVar11);
		 *         return;
		 *       }
		 *       plVar10 = (long *)func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0a10,4);
		 *       puVar2 = PTR_DAT_070c0840;
		 *       iStack_74 = index;
		 *       lVar9 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&iStack_74);
		 *       if (plVar10 != null) {
		 *         if ((lVar9 != 0) &&
		 *            (lVar6 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar10 + 0x40)), lVar6 == 0)) {
		 * LAB_03381364:
		 *           uVar11 = func_0x031fdf58();
		 *           IL2CPP.ThrowManagedException();
		 *         }
		 *         if ((int)plVar10[3] == 0) {
		 * LAB_03381360:
		 *           IL2CPP.ThrowIndexOutOfRangeException();
		 *         }
		 *         plVar10[4] = lVar9;
		 *         func_0x031fdc38(plVar10 + 4,lVar9);
		 *         pvVar7 = UnityEngine.GameObject.get_transform(pvVar8);
		 *         if (pvVar7 == null) goto LAB_0338135c;
		 *         UVar12 = UnityEngine.Transform.get_position(pvVar7);
		 *         fStack_84 = UVar12.z;
		 *         fStack_88 = UVar12.y;
		 *         fStack_8c = UVar12.x;
		 *         lVar9 = func_0x031fde10(*(undefined8 *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08,
		 *                                 &fStack_8c);
		 *         if ((lVar9 != 0) &&
		 *            (lVar6 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar10 + 0x40)), lVar6 == 0))
		 *         goto LAB_03381364;
		 *         if ((*(uint *)(plVar10 + 3) & 0xfffffffe) == 0) goto LAB_03381360;
		 *         plVar10[5] = lVar9;
		 *         func_0x031fdc38(plVar10 + 5,lVar9);
		 *         pvVar7 = UnityEngine.GameObject.get_transform(pvVar8);
		 *         if (pvVar7 == null) goto LAB_0338135c;
		 *         UVar13 = UnityEngine.Transform.get_rotation(pvVar7);
		 *         fStack_90 = UVar13.w;
		 *         fStack_94 = UVar13.z;
		 *         fStack_98 = UVar13.y;
		 *         fStack_9c = UVar13.x;
		 *         lVar9 = func_0x031fde10(*(undefined8 *)
		 *                                  typeinfo_ptr_UnityEngine_CoreModule_Quaternion_6FC0EA0,&fStack_9c);
		 *         if ((lVar9 != 0) &&
		 *            (lVar6 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar10 + 0x40)), lVar6 == 0))
		 *         goto LAB_03381364;
		 *         if (*(uint *)(plVar10 + 3) < 3) goto LAB_03381360;
		 *         plVar10[6] = lVar9;
		 *         func_0x031fdc38(plVar10 + 6,lVar9);
		 *         if (pvVar5 == null) goto LAB_0338135c;
		 *         uStack_78 = *(undefined4 *)((long)pvVar5 + 0x94);
		 *         lVar9 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&uStack_78);
		 *         if ((lVar9 != 0) &&
		 *            (lVar6 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar10 + 0x40)), lVar6 == 0))
		 *         goto LAB_03381364;
		 *         if ((*(uint *)(plVar10 + 3) & 0xfffffffc) == 0) goto LAB_03381360;
		 *         plVar10[7] = lVar9;
		 *         func_0x031fdc38(plVar10 + 7,lVar9);
		 *         pvVar5 = (void *)func_0x031fdf24(*(undefined8 *)
		 *                                           typeinfo_ptr_PhotonRealtime_RaiseEventOptions_6FC18A8);
		 *         Photon.Realtime.RaiseEventOptions..ctor(pvVar5);
		 *         puVar2 = PTR_DAT_070c18b0;
		 *         if (pvVar5 != null) {
		 *           bVar1 = this.manualInstantiationEventCode;
		 *           *(undefined1 *)((long)pvVar5 + 0x20) = 0;
		 *           *(undefined1 *)((long)pvVar5 + 0x10) = 4;
		 *           lVar9 = *(long *)puVar2;
		 *           if (*(int *)(lVar9 + 0xe4) == 0) {
		 *             func_0x031fde08();
		 *             lVar9 = *(long *)puVar2;
		 *           }
		 *           lVar6 = *(long *)puVar3;
		 *           uVar11 = **(undefined8 **)(lVar9 + 0xb8);
		 *           if (*(int *)(lVar6 + 0xe4) == 0) {
		 *             func_0x031fde08(lVar6);
		 *           }
		 *           Photon.Pun.PhotonNetwork.RaiseEvent(bVar1,plVar10,pvVar5,uVar11);
		 *           if (**(long **)(*(long *)PTR_DAT_070c5928 + 0xb8) != 0) {
		 *             lVar9 = **(long **)(*(long *)PTR_DAT_070c5928 + 0xb8);
		 *             if (lVar9 == 0) goto LAB_0338135c;
		 *             (**(code **)(lVar9 + 0x18))
		 *                       (*(undefined8 *)(lVar9 + 0x40),pvVar8,*(undefined8 *)(lVar9 + 0x28));
		 *           }
		 *           return;
		 *         }
		 *       }
		 *     }
		 *   }
		 * LAB_0338135c:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3281370 VA: 0x781896C370
		public void OnEvent(ExitGames.Client.Photon.EventData photonEvent);
		/*
		 *   uint uVar1;
		 *   int iVar2;
		 *   int value;
		 *   undefined *puVar3;
		 *   undefined *puVar4;
		 *   bool bVar5;
		 *   void *pvVar6;
		 *   long lVar7;
		 *   uint *puVar8;
		 *   undefined4 *puVar9;
		 *   undefined8 *puVar10;
		 *   void *extraout_x1;
		 *   undefined8 uVar11;
		 *   void *extraout_x1_00;
		 *   undefined8 extraout_x1_01;
		 *   undefined8 extraout_x1_02;
		 *   undefined8 extraout_x1_03;
		 *   undefined8 extraout_x1_04;
		 *   void *pvVar12;
		 *   long lVar13;
		 *   ulong uVar14;
		 *   int *piVar15;
		 *   long *plVar16;
		 *   undefined4 uVar17;
		 *   undefined4 uVar18;
		 *   undefined4 uVar19;
		 *   undefined4 uVar20;
		 *   undefined4 uVar21;
		 *   undefined4 uVar22;
		 *   undefined4 uVar23;
		 *
		 *   if ((bRam000000000754aca6 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c0a28);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548);
		 *     func_0x031fdc8c(PTR_DAT_070c0a10);
		 *     func_0x031fdc8c(PTR_DAT_070c16f0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Quaternion_6FC0EA0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
		 *     func_0x031fdc8c(PTR_DAT_070c5960);
		 *     bRam000000000754aca6 = 1;
		 *   }
		 *   if (param_2 != null) {
		 *     if (*(char *)((long)param_2 + 0x10) != *(char *)(param_1 + 0x50)) {
		 *       return;
		 *     }
		 *     pvVar6 = EventData.get_CustomData(param_2);
		 *     lVar7 = func_0x031fde0c(pvVar6,*(undefined8 *)PTR_DAT_070c0a10);
		 *     puVar3 = PTR_DAT_070c0840;
		 *     if (lVar7 != 0) {
		 *       if (*(int *)(lVar7 + 0x18) == 0) goto LAB_033816bc;
		 *       if (*(long **)(lVar7 + 0x20) != null) {
		 *         if (*(long *)(**(long **)(lVar7 + 0x20) + 0x40) !=
		 *             *(long *)(*(long *)(PTR_DAT_070c0840 + 0x48) + 0x40)) goto LAB_033816c0;
		 *         puVar8 = (uint *)func_0x031fde14();
		 *         lVar13 = *(long *)(param_1 + 0x38);
		 *         if (lVar13 != 0) {
		 *           if ((*(uint *)(lVar13 + 0x18) <= *puVar8) || ((*(uint *)(lVar7 + 0x18) & 0xfffffffe) == 0)
		 *              ) {
		 * LAB_033816bc:
		 *             IL2CPP.ThrowIndexOutOfRangeException();
		 *           }
		 *           if (*(long **)(lVar7 + 0x28) != null) {
		 *             if (*(long *)(**(long **)(lVar7 + 0x28) + 0x40) !=
		 *                 *(long *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0x40)) {
		 * LAB_033816c0:
		 *               noreturn_helper_30fe2b4();
		 *             }
		 *             plVar16 = *(long **)(lVar13 + (long)(int)*puVar8 * 8 + 0x20);
		 *             puVar9 = (undefined4 *)func_0x031fde14();
		 *             puVar4 = typeinfo_ptr_UnityEngine_CoreModule_Quaternion_6FC0EA0;
		 *             if (*(uint *)(lVar7 + 0x18) < 3) goto LAB_033816bc;
		 *             if (*(long **)(lVar7 + 0x30) != null) {
		 *               if (*(long *)(**(long **)(lVar7 + 0x30) + 0x40) !=
		 *                   *(long *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Quaternion_6FC0EA0 + 0x40))
		 *               goto LAB_033816c0;
		 *               uVar17 = *puVar9;
		 *               uVar18 = puVar9[1];
		 *               uVar19 = puVar9[2];
		 *               puVar9 = (undefined4 *)func_0x031fde14();
		 *               if (*(char *)(param_1 + 0x59) == '\0') {
		 *                 if (cRam000000000754a7d0 == '\0') {
		 *                   func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Quaternion_6FC0EA0);
		 *                   cRam000000000754a7d0 = '\x01';
		 *                 }
		 *                 puVar9 = *(undefined4 **)(*(long *)puVar4 + 0xb8);
		 *                 uVar20 = *puVar9;
		 *                 uVar21 = puVar9[1];
		 *                 uVar22 = puVar9[2];
		 *                 uVar23 = puVar9[3];
		 *                 if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) ==
		 *                     0) {
		 *                   func_0x031fde08();
		 *                 }
		 *               }
		 *               else {
		 *                 if (plVar16 == null) goto LAB_033816b8;
		 *                 uVar20 = *puVar9;
		 *                 uVar21 = puVar9[1];
		 *                 uVar22 = puVar9[2];
		 *                 uVar23 = puVar9[3];
		 *                 pvVar6 = UnityEngine.Object.get_name(plVar16);
		 *                 pvVar6 = System.String.Format(*(void **)PTR_DAT_070c5960,pvVar6,*(void **)(param_1 + 0x68));
		 *                 plVar16 = (long *)UnityEngine.UI.DefaultControls.Resources.Load(pvVar6);
		 *                 if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) ==
		 *                     0) {
		 *                   func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *                 }
		 *                 if (plVar16 == null) {
		 *                   plVar16 = null;
		 *                 }
		 *                 else if (*plVar16 != *(long *)typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548
		 *                         ) {
		 *                   plVar16 = null;
		 *                 }
		 *               }
		 *               lVar13 = func_0x03890c2c(uVar17,uVar18,uVar19,uVar20,uVar21,uVar22,uVar23,plVar16,
		 *                                        *(undefined8 *)PTR_DAT_070c16f0);
		 *               if (lVar13 != 0) {
		 *                 plVar16 = (long *)func_0x037f3038(lVar13,*(undefined8 *)PTR_DAT_070c0a28);
		 *                 if ((*(uint *)(lVar7 + 0x18) & 0xfffffffc) == 0) goto LAB_033816bc;
		 *                 if ((plVar16 != null) && (*(long **)(lVar7 + 0x38) != null)) {
		 *                   if (*(long *)(**(long **)(lVar7 + 0x38) + 0x40) ==
		 *                       *(long *)(*(long *)(puVar3 + 0x48) + 0x40)) {
		 *                     puVar8 = (uint *)func_0x031fde14();
		 *                     pvVar12 = null;
		 *                     uVar1 = *puVar8;
		 *                     pvVar6 = (void *)(ulong)uVar1;
		 *                     if ((bRam000000000755529a & 1) == 0) {
		 *                       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
		 *                       func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
		 *                       func_0x031fdc8c(PTR_DAT_070ff8c0);
		 *                       bRam000000000755529a = 1;
		 *                       pvVar6 = extraout_x1;
		 *                     }
		 *                     puVar3 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
		 *                     iVar2 = *(int *)((long)plVar16 + 0x94);
		 *                     if (uVar1 == 0) {
		 *                       if (iVar2 != 0) {
		 *                         if (*(int *)(*(long *)
		 *                                       typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 +
		 *                                     0xe4) == 0) {
		 *                           func_0x031fde08();
		 *                           pvVar6 = extraout_x1_00;
		 *                         }
		 *                         Photon.Pun.PhotonNetwork.LocalCleanPhotonView(plVar16);
		 *                       }
		 *                     }
		 *                     else if (iVar2 != 0) {
		 *                       pvVar6 = System.Int32.ToString((int *)((long)plVar16 + 0x94));
		 *                       pvVar6 = System.String.Concat(*(void **)PTR_DAT_070ff8c0,pvVar6);
		 *                       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4
		 *                                   ) == 0) {
		 *                         func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
		 *                       }
		 *                       puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
		 *                       uVar11 = 0;
		 *                       if ((bRam000000000755e09c & 1) == 0) {
		 *                         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
		 *                         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
		 *                         bRam000000000755e09c = 1;
		 *                         uVar11 = extraout_x1_01;
		 *                       }
		 *                       if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
		 *                         func_0x031fde08();
		 *                         uVar11 = extraout_x1_02;
		 *                       }
		 *                       if (cRam000000000755000b == '\0') {
		 *                         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar11);
		 *                         cRam000000000755000b = '\x01';
		 *                       }
		 *                       lVar7 = *(long *)puVar3;
		 *                       if (*(int *)(lVar7 + 0xe4) == 0) {
		 *                         func_0x031fde08();
		 *                         lVar7 = *(long *)puVar3;
		 *                       }
		 *                       plVar16 = *(long **)(*(long *)(lVar7 + 0xb8) + 8);
		 *                       if (plVar16 == null) {
		 *                         IL2CPP.ThrowNullReferenceException();
		 *                       }
		 *                       lVar7 = *plVar16;
		 *                       uVar14 = (ulong)*(ushort *)(lVar7 + 0x12e);
		 *                       if (uVar14 != 0) {
		 *                         piVar15 = (int *)(*(long *)(lVar7 + 0xb0) + 8);
		 *                         do {
		 *                           if (*(long *)(piVar15 + -2) ==
		 *                               *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40) {
		 *                             puVar10 = (undefined8 *)(lVar7 + (long)(*piVar15 + 3) * 0x10 + 0x138);
		 *                             goto LAB_069357b4;
		 *                           }
		 *                           uVar14 = uVar14 - 1;
		 *                           piVar15 = piVar15 + 4;
		 *                         } while (uVar14 != 0);
		 *                       }
		 *                       puVar10 = (undefined8 *)
		 *                                 func_0x03237558(plVar16,*(long *)
		 *                                                   typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40
		 *                                                 ,3);
		 * LAB_069357b4:
		 *                       (*(code *)*puVar10)(plVar16,2,pvVar6,puVar10[1]);
		 *                       return;
		 *                     }
		 *                     lVar7 = *(long *)puVar3;
		 *                     *(uint *)((long)plVar16 + 0x94) = uVar1;
		 *                     if (*(int *)(lVar7 + 0xe4) == 0) {
		 *                       func_0x031fde08();
		 *                       lVar7 = *(long *)puVar3;
		 *                     }
		 *                     iVar2 = *(int *)(*(long *)(lVar7 + 0xb8) + 0x10);
		 *                     value = 0;
		 *                     if (iVar2 != 0) {
		 *                       value = (int)uVar1 / iVar2;
		 *                     }
		 *                     *(int *)(plVar16 + 0xf) = value;
		 *                     Photon.Pun.PhotonView.set_OwnerActorNr(plVar16,value);
		 *                     Photon.Pun.PhotonView.set_ControllerActorNr(plVar16,(int)plVar16[0xf]);
		 *                     Photon.Pun.PhotonView.RebuildControllerCache(plVar16,false);
		 *                     if (uVar1 == 0) {
		 *                       return;
		 *                     }
		 *                     if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
		 *                       func_0x031fde08();
		 *                     }
		 *                     puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Application_6FC0EA8;
		 *                     if ((bRam000000000755526d & 1) == 0) {
		 *                       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Application_6FC0EA8);
		 *                       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
		 *                       func_0x031fdc8c(PTR_DAT_070ffb50);
		 *                       func_0x031fdc8c(PTR_DAT_070ffb30);
		 *                       func_0x031fdc8c(PTR_DAT_070ff6d0);
		 *                       func_0x031fdc8c(PTR_DAT_070ff6d8);
		 *                       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *                       func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
		 *                       func_0x031fdc8c(PTR_DAT_070ffb58);
		 *                       func_0x031fdc8c(PTR_DAT_070ffb60);
		 *                       func_0x031fdc8c(PTR_DAT_070ffb68);
		 *                       bRam000000000755526d = 1;
		 *                     }
		 *                     if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
		 *                       func_0x031fde08();
		 *                     }
		 *                     puVar3 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
		 *                     bVar5 = UnityEngine.Application.get_isPlaying();
		 *                     puVar4 = PTR_DAT_070ff6d0;
		 *                     if (!bVar5) {
		 *                       uVar11 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070ff6d8);
		 *                       func_0x0429d384(uVar11,0x1d,*(undefined8 *)puVar4);
		 *                       lVar7 = *(long *)puVar3;
		 *                       if (*(int *)(lVar7 + 0xe4) == 0) {
		 *                         func_0x031fde08();
		 *                         lVar7 = *(long *)puVar3;
		 *                       }
		 *                       puVar10 = (undefined8 *)(*(long *)(lVar7 + 0xb8) + 0xb0);
		 *                       *puVar10 = uVar11;
		 *                       if (iRam00000000077785f0 != 0) {
		 *                         func_0x032ed0c0(1L << ((ulong)puVar10 >> 0xc & 0x3f),
		 *                                         ((ulong)puVar10 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *                       }
		 *                       return;
		 *                     }
		 *                     if (plVar16 != null) {
		 *                       if (*(int *)((long)plVar16 + 0x94) == 0) {
		 *                         pvVar12 = *(void **)PTR_DAT_070ffb60;
		 *                         pvVar6 = (void *)(**(code **)(*plVar16 + 0x168))
		 *                                                    (plVar16,*(undefined8 *)(*plVar16 + 0x170));
		 *                         pvVar6 = System.String.Concat(pvVar12,pvVar6);
		 *                         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 +
		 *                                     0xe4) == 0) {
		 *                           func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8
		 *                                          );
		 *                         }
		 *                         puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
		 *                         uVar11 = 0;
		 *                         if ((bRam000000000755e091 & 1) == 0) {
		 *                           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
		 *                           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
		 *                           bRam000000000755e091 = 1;
		 *                           uVar11 = extraout_x1_03;
		 *                         }
		 *                         if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
		 *                           func_0x031fde08();
		 *                           uVar11 = extraout_x1_04;
		 *                         }
		 *                         if (cRam000000000755000b == '\0') {
		 *                           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar11);
		 *                           cRam000000000755000b = '\x01';
		 *                         }
		 *                         lVar7 = *(long *)puVar3;
		 *                         if (*(int *)(lVar7 + 0xe4) == 0) {
		 *                           func_0x031fde08();
		 *                           lVar7 = *(long *)puVar3;
		 *                         }
		 *                         plVar16 = *(long **)(*(long *)(lVar7 + 0xb8) + 8);
		 *                         if (plVar16 == null) {
		 *                           IL2CPP.ThrowNullReferenceException();
		 *                         }
		 *                         lVar7 = *plVar16;
		 *                         uVar14 = (ulong)*(ushort *)(lVar7 + 0x12e);
		 *                         if (uVar14 != 0) {
		 *                           piVar15 = (int *)(*(long *)(lVar7 + 0xb0) + 8);
		 *                           do {
		 *                             if (*(long *)(piVar15 + -2) ==
		 *                                 *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40) {
		 *                               puVar10 = (undefined8 *)(lVar7 + (long)(*piVar15 + 3) * 0x10 + 0x138);
		 *                               goto LAB_069382a8;
		 *                             }
		 *                             uVar14 = uVar14 - 1;
		 *                             piVar15 = piVar15 + 4;
		 *                           } while (uVar14 != 0);
		 *                         }
		 *                         puVar10 = (undefined8 *)
		 *                                   func_0x03237558(plVar16,*(long *)
		 *                                                   typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40
		 *                                                   ,3);
		 * LAB_069382a8:
		 *                         (*(code *)*puVar10)(plVar16,3,pvVar6,puVar10[1]);
		 *                         return;
		 *                       }
		 *                       lVar7 = *(long *)puVar3;
		 *                       if (*(int *)(lVar7 + 0xe4) == 0) {
		 *                         func_0x031fde08();
		 *                         lVar7 = *(long *)puVar3;
		 *                       }
		 *                       lVar7 = *(long *)(*(long *)(lVar7 + 0xb8) + 0xb0);
		 *                       if (lVar7 != 0) {
		 *                         uVar14 = func_0x0429d580(lVar7,*(undefined4 *)((long)plVar16 + 0x94),
		 *                                                  &stack0xffffffffffffffd8,
		 *                                                  *(undefined8 *)PTR_DAT_070ffb30);
		 *                         if ((uVar14 & 1) == 0) {
		 *                           lVar7 = *(long *)puVar3;
		 *                           if (*(int *)(lVar7 + 0xe4) == 0) {
		 *                             func_0x031fde08();
		 *                             lVar7 = *(long *)puVar3;
		 *                           }
		 *                           lVar7 = *(long *)(*(long *)(lVar7 + 0xb8) + 0xb0);
		 *                           if (lVar7 != 0) {
		 *                             func_0x0429d924(lVar7,*(undefined4 *)((long)plVar16 + 0x94),plVar16,
		 *                                             *(undefined8 *)PTR_DAT_070ffb50);
		 *                             lVar7 = *(long *)puVar3;
		 *                             *(undefined1 *)((long)plVar16 + 0x9d) = 0;
		 *                             if (1 < *(int *)(*(long *)(lVar7 + 0xb8) + 0x24)) {
		 *                               pvVar6 = System.Int32.ToString(&stack0xffffffffffffffd4);
		 *                               pvVar6 = System.String.Concat(*(void **)PTR_DAT_070ffb68,pvVar6);
		 *                               if (*(int *)(*(long *)
		 *                                             typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4
		 *                                           ) == 0) {
		 *                                 func_0x031fde08(*(long *)
		 *                                                  typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
		 *                               }
		 *                               UnityEngine.Debug.Log(pvVar6);
		 *                             }
		 *                             return;
		 *                           }
		 *                         }
		 *                         else {
		 *                           if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 +
		 *                                       0xe4) == 0) {
		 *                             func_0x031fde08();
		 *                           }
		 *                           uVar14 = UnityEngine.Object.op_Inequality(plVar16,null);
		 *                           if ((uVar14 & 1) == 0) {
		 *                             return;
		 *                           }
		 *                           pvVar6 = (void *)func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),
		 *                                                            &stack0xffffffffffffffd0);
		 *                           pvVar6 = System.String.Format(*(void **)PTR_DAT_070ffb58,pvVar6,plVar16,null);
		 *                           if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 +
		 *                                       0xe4) == 0) {
		 *                             func_0x031fde08(*(long *)
		 *                                              typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
		 *                           }
		 *                           UnityEngine.Debug.LogError(pvVar6);
		 *                         }
		 *                       }
		 *                     }
		 *                     IL2CPP.ThrowNullReferenceException();
		 *                   }
		 *                   goto LAB_033816c0;
		 *                 }
		 *               }
		 *             }
		 *           }
		 *         }
		 *       }
		 *     }
		 *   }
		 * LAB_033816b8:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x32816C4 VA: 0x781896C6C4
		protected virtual void GetSpawnPoint(UnityEngine.Vector3& spawnPos, UnityEngine.Quaternion& spawnRot);
		/*
		 *   int seed;
		 *   undefined *puVar1;
		 *   void *this_00;
		 *   ulong uVar2;
		 *   float *in_x2;
		 *   float fVar3;
		 *   undefined8 uVar4;
		 *   float fVar5;
		 *   float fVar6;
		 *   undefined4 uVar7;
		 *   float fVar8;
		 *   UnityEngine_Vector3 UVar9;
		 *   UnityEngine_Vector4 UVar10;
		 *
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000754aca7 & 1) == 0) {
		 *     func_0x031fdc8c(spawnPos.x,spawnPos.y,spawnPos.z,spawnRot.x,spawnRot.y,spawnRot.z,spawnRot.w,
		 *                     typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     bRam000000000754aca7 = 1;
		 *   }
		 *   this_00 = (void *)(**(code **)(*(long *)this + 0x4b8))
		 *                               (this,*(undefined8 *)(*(long *)this + 0x4c0));
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar1);
		 *   }
		 *   uVar2 = UnityEngine.Object.op_Inequality(this_00,null);
		 *   if ((uVar2 & 1) == 0) {
		 *     fVar3 = 0.0;
		 *     fVar6 = 0.0;
		 *     *(undefined8 *)methodInfo = 0;
		 *     fVar5 = 0.0;
		 *     fVar8 = 1.0;
		 *     *(undefined4 *)((long)methodInfo + 8) = 0;
		 *   }
		 *   else {
		 *     if (this_00 == null) {
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     UVar9 = UnityEngine.Transform.get_position(this_00);
		 *     *(float *)methodInfo = UVar9.x;
		 *     *(float *)((long)methodInfo + 4) = UVar9.y;
		 *     *(float *)((long)methodInfo + 8) = UVar9.z;
		 *     UVar10 = UnityEngine.Transform.get_rotation(this_00);
		 *     fVar8 = UVar10.w;
		 *     fVar5 = UVar10.z;
		 *     fVar6 = UVar10.y;
		 *     fVar3 = UVar10.x;
		 *   }
		 *   *in_x2 = fVar3;
		 *   in_x2[1] = fVar6;
		 *   in_x2[2] = fVar5;
		 *   in_x2[3] = fVar8;
		 *   if (this.UseRandomOffset != false) {
		 *     fVar3 = UnityEngine.Time.get_time();
		 *     uVar7 = 0;
		 *     seed = -0x80000000;
		 *     if (fVar3 * _UNK_0134eef0 != INFINITY) {
		 *       seed = (int)(fVar3 * _UNK_0134eef0);
		 *     }
		 *     Random.InitState(seed);
		 *     UVar9 = Random.get_insideUnitSphere();
		 *     fVar6 = UVar9.z;
		 *     fVar3 = UVar9.x;
		 *     if (cRam000000000754a7cc == '\0') {
		 *       func_0x031fdc8c(fVar3,CONCAT44(uVar7,UVar9.y),typeinfo_ptr_mscorlib_Math_6FC0738);
		 *       cRam000000000754a7cc = '\x01';
		 *     }
		 *     if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Math_6FC0738 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *     }
		 *     fVar5 = SQRT(fVar6 * fVar6 + fVar3 * fVar3);
		 *     if (fVar5 <= _UNK_0134eeec) {
		 *       if (cRam000000000754a7ce == '\0') {
		 *         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
		 *         cRam000000000754a7ce = '\x01';
		 *       }
		 *       uVar4 = **(undefined8 **)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8)
		 *       ;
		 *       fVar6 = *(float *)(*(undefined8 **)
		 *                           (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8) + 1)
		 *       ;
		 *     }
		 *     else {
		 *       fVar6 = fVar6 / fVar5;
		 *       uVar4 = CONCAT44(0.0 / fVar5,fVar3 / fVar5);
		 *     }
		 *     fVar3 = this.PositionOffset;
		 *     *(ulong *)methodInfo =
		 *          CONCAT44((float)((ulong)*(undefined8 *)methodInfo >> 0x20) +
		 *                   (float)((ulong)uVar4 >> 0x20) * fVar3,
		 *                   (float)*(undefined8 *)methodInfo + (float)uVar4 * fVar3);
		 *     *(float *)((long)methodInfo + 8) = *(float *)((long)methodInfo + 8) + fVar6 * fVar3;
		 *   }
		 *   return;
		 */
		// RVA: 0x32818D4 VA: 0x781896C8D4
		protected virtual UnityEngine.Transform GetSpawnPoint();
		/*
		 *   int iVar1;
		 *   int iVar2;
		 *   int iVar3;
		 *   uint uVar4;
		 *   long lVar5;
		 *   undefined8 uVar6;
		 *   void *pvVar7;
		 *
		 *   if ((bRam000000000754aca8 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c5970);
		 *     func_0x031fdc8c(PTR_DAT_070c5978);
		 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
		 *     bRam000000000754aca8 = 1;
		 *   }
		 *   pvVar7 = this.SpawnPoints;
		 *   if ((pvVar7 == null) || (iVar1 = *(int *)((long)pvVar7 + 0x18), iVar1 == 0)) {
		 *     return null;
		 *   }
		 *   iVar2 = *(int *)&this.field_0x4c;
		 *   if (iVar2 == 2) {
		 *     uVar6 = *(undefined8 *)PTR_DAT_070c5978;
		 *     uVar4 = 0;
		 *     if (this.lastUsedSpawnPointIndex + 1 < iVar1) {
		 *       uVar4 = this.lastUsedSpawnPointIndex + 1;
		 *     }
		 *     this.lastUsedSpawnPointIndex = uVar4;
		 *   }
		 *   else if (iVar2 == 1) {
		 *     uVar4 = Random.Range(0,iVar1);
		 *   }
		 *   else {
		 *     if (iVar2 != 0) {
		 *       return null;
		 *     }
		 *     if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *     }
		 *     lVar5 = Photon.Pun.PhotonNetwork.get_LocalPlayer();
		 *     if (lVar5 == 0) {
		 * LAB_033819fc:
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     iVar1 = *(int *)(lVar5 + 0x18);
		 *     pvVar7 = this.SpawnPoints;
		 *     if (iVar1 == -1) {
		 *       if (pvVar7 == null) goto LAB_033819fc;
		 *       uVar4 = 0;
		 *     }
		 *     else {
		 *       if (pvVar7 == null) goto LAB_033819fc;
		 *       iVar2 = *(int *)((long)pvVar7 + 0x18);
		 *       iVar3 = 0;
		 *       if (iVar2 != 0) {
		 *         iVar3 = iVar1 / iVar2;
		 *       }
		 *       uVar4 = iVar1 - iVar3 * iVar2;
		 *     }
		 *   }
		 *   if (*(uint *)((long)pvVar7 + 0x18) <= uVar4) {
		 *     ThrowHelper.ThrowArgumentOutOfRange_IndexException();
		 *   }
		 *   lVar5 = *(long *)((long)pvVar7 + 0x10);
		 *   if (lVar5 != 0) {
		 *     if (uVar4 < *(uint *)(lVar5 + 0x18)) {
		 *       return *(void **)(lVar5 + (long)(int)uVar4 * 8 + 0x20);
		 *     }
		 *     IL2CPP.ThrowIndexOutOfRangeException();
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3281A00 VA: 0x781896CA00
		public void .ctor();
		/*
		 *   undefined *puVar1;
		 *
		 *   this.PositionOffset = 2.0;
		 *   this.manualInstantiationEventCode = 1;
		 *   this.AutoSpawn = true;
		 *   this.UseRandomOffset = true;
		 *   this.lastUsedSpawnPointIndex = -1;
		 *   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;
		 */
	}
}
