// [TypeInfo RVA: 0x0]
public class AdvancedAI_Final : MonoBehaviourPunCallbacks
{
	public UnityEngine.AI.NavMeshAgent agent; // 0x28
	public string playerTag; // 0x30
	public System.String[] targetTags; // 0x38
	public UnityEngine.AudioSource chaseAudio; // 0x40
	public float alertRadius; // 0x48
	public UnityEngine.Transform[] wanderPoints; // 0x50
	public float wanderSpeed; // 0x58
	public float minWanderPause; // 0x5C
	public float stalkSpeed; // 0x60
	public float chaseSpeed; // 0x64
	public float runSpeed; // 0x68
	public float accelerationBurst; // 0x6C
	public float accelerationDuration; // 0x70
	public UnityEngine.Transform[] farPoints; // 0x78
	public float stalkSneakDistance; // 0x80
	public float stalkMaxApproachDistance; // 0x84
	public System.Collections.Generic.List<UnityEngine.GameObject> objectsToDisableDuringStalk; // 0x88
	public System.Collections.Generic.List<UnityEngine.AudioSource> audioToMuteDuringStalk; // 0x90
	public float watchDuration; // 0x98
	public float watchMinDuration; // 0x9C
	public float watchMaxDuration; // 0xA0
	public float watchWaitBeforeDecision; // 0xA4
	public float watchDistanceLimit; // 0xA8
	public float orbitDistance; // 0xAC
	public float orbitSpeed; // 0xB0
	public float straightKillDuration; // 0xB4
	public bool straightKillLockOn; // 0xB8
	public bool straightKillAllowRetarget; // 0xB9
	public float updateFrequency; // 0xBC
	public float minDestinationChangeInterval; // 0xC0
	public float wanderPointReachThreshold; // 0xC4
	public UnityEngine.LayerMask obstructionMask; // 0xC8
	public int maxTargetsConsidered; // 0xCC
	public float retargetInterval; // 0xD0
	public float retargetDistanceThreshold; // 0xD4
	public float behaviorSwitchCooldown; // 0xD8
	public bool debugLogs; // 0xDC
	public bool debugRadius; // 0xDD
	public AdvancedAI_Final.AIState currentBehavior; // 0xE0
	public bool dbgWander; // 0xE4
	public bool dbgStalk; // 0xE5
	public bool dbgWatch; // 0xE6
	public bool dbgRunAround; // 0xE7
	public bool dbgKill; // 0xE8
	private UnityEngine.Coroutine behaviorRoutine; // 0xF0
	private UnityEngine.Coroutine activeCoroutine; // 0xF8
	private UnityEngine.GameObject currentTarget; // 0x100
	private float lastDestinationTime; // 0x108
	private int lastWanderIndex; // 0x10C
	private System.Collections.Generic.Dictionary<UnityEngine.AudioSource,System.Single> originalAudioVolumes; // 0x110
	private System.Collections.Generic.Dictionary<UnityEngine.GameObject,System.Boolean> originalObjectStates; // 0x118
	private float updateTimer; // 0x120
	private bool allowBehaviorUpdate; // 0x124
	private float lastRetargetTime; // 0x128
	private float lastBehaviorChangeTime; // 0x12C
	private const float DEFAULT_FAILSAFE; // 0x0

	// RVA: 0x31F3184 VA: 0x78188DE184
	private void Awake();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   undefined *puVar5;
	 *   undefined *puVar6;
	 *   undefined *puVar7;
	 *   undefined *puVar8;
	 *   bool bVar9;
	 *   ulong uVar10;
	 *   void *extraout_x1;
	 *   void *pvVar11;
	 *   void *pvVar12;
	 *   undefined8 uStack_b8;
	 *   undefined8 *puStack_b0;
	 *   void *pvStack_a8;
	 *   undefined8 uStack_a0;
	 *   undefined8 *puStack_98;
	 *   void *pvStack_90;
	 *   undefined8 uStack_80;
	 *   undefined8 *puStack_78;
	 *   void *pvStack_70;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a728 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c08f8);
	 *     func_0x031fdc8c(PTR_DAT_070c0900);
	 *     func_0x031fdc8c(PTR_DAT_070c0908);
	 *     func_0x031fdc8c(PTR_DAT_070c0910);
	 *     func_0x031fdc8c(PTR_DAT_070c0918);
	 *     func_0x031fdc8c(PTR_DAT_070c0920);
	 *     func_0x031fdc8c(PTR_DAT_070c0928);
	 *     func_0x031fdc8c(PTR_DAT_070c0930);
	 *     func_0x031fdc8c(PTR_DAT_070c0938);
	 *     func_0x031fdc8c(PTR_DAT_070c0940);
	 *     func_0x031fdc8c(PTR_DAT_070c0948);
	 *     func_0x031fdc8c(PTR_DAT_070c0950);
	 *     func_0x031fdc8c(PTR_DAT_070c0958);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a728 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   uStack_80 = 0;
	 *   puStack_78 = null;
	 *   pvVar11 = this.agent;
	 *   pvStack_70 = null;
	 *   uStack_a0 = 0;
	 *   puStack_98 = null;
	 *   pvStack_90 = null;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   uVar10 = UnityEngine.Object.op_Equality(pvVar11,null);
	 *   if ((uVar10 & 1) != 0) {
	 *     pvVar11 = (void *)func_0x0373df50(this,*(undefined8 *)PTR_DAT_070c08f8);
	 *     this.agent = pvVar11;
	 *     func_0x031fdc38(&this.agent,pvVar11);
	 *   }
	 *   puVar8 = PTR_DAT_070c0938;
	 *   puVar7 = PTR_DAT_070c0930;
	 *   puVar6 = PTR_DAT_070c0928;
	 *   puVar5 = PTR_DAT_070c0918;
	 *   puVar4 = PTR_DAT_070c0910;
	 *   puVar3 = PTR_DAT_070c0908;
	 *   puVar2 = PTR_DAT_070c0900;
	 *   if (this.audioToMuteDuringStalk != null) {
	 *     func_0x03f2e1a8(&uStack_b8,this.audioToMuteDuringStalk,*(undefined8 *)PTR_DAT_070c0958);
	 *     pvStack_70 = pvStack_a8;
	 *     puStack_78 = puStack_b0;
	 *     uStack_80 = uStack_b8;
	 *     uStack_b8 = 0;
	 *     puStack_b0 = &uStack_80;
	 *     while (uVar10 = func_0x05018cac(&uStack_80,*(undefined8 *)puVar7), pvVar11 = pvStack_70,
	 *           (uVar10 & 1) != 0) {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar10 = UnityEngine.Object.op_Inequality(pvVar11,null);
	 *       if ((uVar10 & 1) != 0) {
	 *         if (this.originalAudioVolumes == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         uVar10 = func_0x04e3a498(this.originalAudioVolumes,pvVar11,*(undefined8 *)puVar2);
	 *         if ((uVar10 & 1) == 0) {
	 *           if (pvVar11 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           pvVar12 = this.originalAudioVolumes;
	 *           UnityEngine.AudioSource.get_volume(pvVar11);
	 *           if (pvVar12 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           func_0x04e3a28c(pvVar12,pvVar11,*(undefined8 *)puVar4);
	 *         }
	 *       }
	 *     }
	 *     func_0x05018ca8(&uStack_80,*(undefined8 *)puVar6);
	 *     if (this.objectsToDisableDuringStalk != null) {
	 *       func_0x03f2e1a8(&uStack_b8,this.objectsToDisableDuringStalk,*(undefined8 *)PTR_DAT_070c0950);
	 *       pvStack_90 = pvStack_a8;
	 *       puStack_98 = puStack_b0;
	 *       uStack_a0 = uStack_b8;
	 *       uStack_b8 = 0;
	 *       puStack_b0 = &uStack_a0;
	 *       while( true ) {
	 *         do {
	 *           do {
	 *             uVar10 = func_0x05018cac(&uStack_a0,*(undefined8 *)puVar8);
	 *             pvVar11 = pvStack_90;
	 *             if ((uVar10 & 1) == 0) {
	 *               func_0x05018ca8(&uStack_a0,*(undefined8 *)PTR_DAT_070c0920);
	 *               return;
	 *             }
	 *             if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             uVar10 = UnityEngine.Object.op_Inequality(pvVar11,null);
	 *           } while ((uVar10 & 1) == 0);
	 *           if (this.originalObjectStates == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           uVar10 = func_0x04e0525c(this.originalObjectStates,pvVar11,*(undefined8 *)puVar3);
	 *         } while ((uVar10 & 1) != 0);
	 *         if (pvVar11 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         pvVar12 = this.originalObjectStates;
	 *         bVar9 = UnityEngine.GameObject.get_activeSelf(pvVar11);
	 *         if (pvVar12 == null) break;
	 *         func_0x04e05044(pvVar12,pvVar11,bVar9,*(undefined8 *)puVar5);
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F3588 VA: 0x78188DE588
	private void Start();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   bool bVar3;
	 *   int iVar4;
	 *   ulong uVar5;
	 *   undefined8 uVar6;
	 *   AdvancedAI_Final *this_00;
	 *   long lVar7;
	 *   long lVar8;
	 *   undefined8 *puVar9;
	 *   void *extraout_x1;
	 *   undefined8 uVar10;
	 *   undefined8 extraout_x1_00;
	 *   undefined8 extraout_x1_01;
	 *   int *piVar11;
	 *   void *pvVar12;
	 *   long *plVar13;
	 *   float fVar14;
	 *   int aiStack_48 [2];
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a729 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a729 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   bVar3 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   pvVar12 = this.agent;
	 *   if (!bVar3) {
	 *     if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     uVar5 = UnityEngine.Object.op_Inequality(pvVar12,null);
	 *     if ((uVar5 & 1) == 0) {
	 *       return;
	 *     }
	 *     pvVar12 = this.agent;
	 *     if (pvVar12 != null) {
	 *       if ((bRam000000000755f745 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714f3a0,0,0);
	 *         bRam000000000755f745 = 1;
	 *       }
	 *       if (pvVar12 != null) {
	 *         lVar8 = *(long *)((long)pvVar12 + 0x10);
	 *         if (lVar8 == 0) {
	 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar12);
	 *         }
	 *         if (pcRam000000000755f750 == null) {
	 *           pcRam000000000755f750 = (code *)func_0x031fdc50(&UNK_0137c3e0);
	 *         }
	 *         (*pcRam000000000755f750)(lVar8,0);
	 *         return;
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     goto LAB_032f36b8;
	 *   }
	 *   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   uVar5 = UnityEngine.Object.op_Inequality(pvVar12,null);
	 *   if ((uVar5 & 1) != 0) {
	 *     if (this.agent == null) {
	 * LAB_032f36b8:
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(this.agent,true);
	 *     if (this.agent == null) goto LAB_032f36b8;
	 *     UnityEngine.AI.NavMeshAgent.set_isStopped(this.agent,false);
	 *     if (this.agent == null) goto LAB_032f36b8;
	 *     UnityEngine.AI.NavMeshAgent.set_speed(this.agent,this.wanderSpeed)
	 *     ;
	 *   }
	 *   this.currentBehavior = 0;
	 *   pvVar12 = null;
	 *   if ((bRam000000000754a732 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a18);
	 *     func_0x031fdc8c(PTR_DAT_070c0a20);
	 *     bRam000000000754a732 = 1;
	 *   }
	 *   fVar14 = UnityEngine.Time.get_time();
	 *   puVar1 = PTR_DAT_070c0a10;
	 *   if (fVar14 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown) {
	 *     if (this.debugLogs == false) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *     uVar10 = 0;
	 *     uVar6 = *(undefined8 *)PTR_DAT_070c0a20;
	 *     if ((bRam000000000755e091 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
	 *       bRam000000000755e091 = 1;
	 *       uVar10 = extraout_x1_00;
	 *     }
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       uVar10 = extraout_x1_01;
	 *     }
	 *     if (cRam000000000755000b == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar10);
	 *       cRam000000000755000b = '\x01';
	 *     }
	 *     lVar8 = *(long *)puVar1;
	 *     if (*(int *)(lVar8 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar8 = *(long *)puVar1;
	 *     }
	 *     plVar13 = *(long **)(*(long *)(lVar8 + 0xb8) + 8);
	 *     if (plVar13 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     lVar8 = *plVar13;
	 *     uVar5 = (ulong)*(ushort *)(lVar8 + 0x12e);
	 *     if (uVar5 != 0) {
	 *       piVar11 = (int *)(*(long *)(lVar8 + 0xb0) + 8);
	 *       do {
	 *         if (*(long *)(piVar11 + -2) == *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40)
	 *         {
	 *           puVar9 = (undefined8 *)(lVar8 + (long)(*piVar11 + 3) * 0x10 + 0x138);
	 *           goto LAB_069382a8;
	 *         }
	 *         uVar5 = uVar5 - 1;
	 *         piVar11 = piVar11 + 4;
	 *       } while (uVar5 != 0);
	 *     }
	 *     puVar9 = (undefined8 *)
	 *              func_0x03237558(plVar13,*(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3)
	 *     ;
	 * LAB_069382a8:
	 *     (*(code *)*puVar9)(plVar13,3,uVar6,puVar9[1]);
	 *     return;
	 *   }
	 *   fVar14 = UnityEngine.Time.get_time();
	 *   this.currentTarget = null;
	 *   this.lastBehaviorChangeTime = fVar14;
	 *   this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,0);
	 *   iVar4 = AdvancedAI_Final.GetViewID(this_00,null);
	 *   pvVar12 = MonoBehaviourPun.get_photonView(this);
	 *   plVar13 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *   puVar1 = PTR_DAT_070c0840;
	 *   aiStack_48[1] = 0;
	 *   lVar8 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),aiStack_48 + 1);
	 *   if (plVar13 == null) {
	 * LAB_032f4acc:
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   if ((lVar8 != 0) && (lVar7 = func_0x031fde0c(lVar8,*(undefined8 *)(*plVar13 + 0x40)), lVar7 == 0))
	 *   {
	 * LAB_032f4ad4:
	 *     uVar10 = func_0x031fdf58();
	 *     IL2CPP.ThrowManagedException();
	 *   }
	 *   if ((int)plVar13[3] != 0) {
	 *     plVar13[4] = lVar8;
	 *     func_0x031fdc38(plVar13 + 4,lVar8);
	 *     aiStack_48[0] = iVar4;
	 *     lVar8 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),aiStack_48);
	 *     if ((lVar8 != 0) &&
	 *        (lVar7 = func_0x031fde0c(lVar8,*(undefined8 *)(*plVar13 + 0x40)), lVar7 == 0))
	 *     goto LAB_032f4ad4;
	 *     if ((*(uint *)(plVar13 + 3) & 0xfffffffe) != 0) {
	 *       plVar13[5] = lVar8;
	 *       func_0x031fdc38(plVar13 + 5,lVar8);
	 *       if (pvVar12 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar12,*(void **)PTR_DAT_070c0a18,3,plVar13);
	 *         AdvancedAI_Final.BeginBehaviorMaster(this,0,null);
	 *         return;
	 *       }
	 *       goto LAB_032f4acc;
	 *     }
	 *   }
	 *   IL2CPP.ThrowIndexOutOfRangeException();
	 */
	// RVA: 0x31F36CC VA: 0x78188DE6CC
	private void Update();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   uint uVar3;
	 *   int iVar4;
	 *   void *pvVar5;
	 *   undefined8 uVar6;
	 *   AdvancedAI_Final *this_00;
	 *   void *pvVar7;
	 *   long lVar8;
	 *   long lVar9;
	 *   undefined8 *puVar10;
	 *   void *extraout_x1;
	 *   void *methodInfo_00;
	 *   undefined8 uVar11;
	 *   undefined8 extraout_x1_00;
	 *   undefined8 extraout_x1_01;
	 *   void *in_x2;
	 *   void *in_x3;
	 *   int behavior;
	 *   ulong uVar12;
	 *   int *piVar13;
	 *   long *plVar14;
	 *   float fVar15;
	 *   float fVar16;
	 *   undefined1 auVar17 [16];
	 *   int iStack_48;
	 *   int iStack_44;
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a72a & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a72a = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_InRoom();
	 *   if (!bVar2) {
	 *     return;
	 *   }
	 *   AdvancedAI_Final.AgentUpdate(this);
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a72e & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a72e = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if ((bVar2) && (this.allowBehaviorUpdate != false)) {
	 *     fVar16 = this.updateTimer;
	 *     fVar15 = UnityEngine.Time.get_deltaTime();
	 *     fVar16 = fVar16 + fVar15;
	 *     this.updateTimer = fVar16;
	 *     if ((this.updateFrequency <= fVar16) && (this.updateTimer = 0.0, this.currentBehavior == 0))
	 *     {
	 *       if (this.behaviorRoutine == null) {
	 *         in_x2 = null;
	 *         AdvancedAI_Final.BeginBehaviorMaster(this,0,null);
	 *       }
	 *       pvVar5 = AdvancedAI_Final.ChooseBestTarget(this,null);
	 *       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *         func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *       }
	 *       auVar17 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *       if ((auVar17._0_8_ & 1) != 0) {
	 *         AdvancedAI_Final.StopExclusiveCoroutine(this);
	 *         this.currentTarget = pvVar5;
	 *         func_0x031fdc38(&this.currentTarget);
	 *         uVar3 = Random.Range(0,100);
	 *         if ((int)uVar3 < 0x1e) {
	 *           behavior = 1;
	 *         }
	 *         else if (uVar3 < 0x3c) {
	 *           behavior = 2;
	 *         }
	 *         else {
	 *           behavior = 3;
	 *           if (0x59 < uVar3) {
	 *             behavior = 4;
	 *           }
	 *         }
	 *         pvVar7 = pvVar5;
	 *         if ((bRam000000000754a732 & 1) == 0) {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *           func_0x031fdc8c(PTR_DAT_070c0a10);
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *           func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *           func_0x031fdc8c(PTR_DAT_070c0a18);
	 *           func_0x031fdc8c(PTR_DAT_070c0a20);
	 *           bRam000000000754a732 = 1;
	 *         }
	 *         fVar15 = UnityEngine.Time.get_time();
	 *         puVar1 = PTR_DAT_070c0a10;
	 *         if (fVar15 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown) {
	 *           if (this.debugLogs == false) {
	 *             return;
	 *           }
	 *           if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *           uVar11 = 0;
	 *           uVar6 = *(undefined8 *)PTR_DAT_070c0a20;
	 *           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_00;
	 *           }
	 *           if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *             uVar11 = extraout_x1_01;
	 *           }
	 *           if (cRam000000000755000b == '\0') {
	 *             func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar11);
	 *             cRam000000000755000b = '\x01';
	 *           }
	 *           lVar9 = *(long *)puVar1;
	 *           if (*(int *)(lVar9 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *             lVar9 = *(long *)puVar1;
	 *           }
	 *           plVar14 = *(long **)(*(long *)(lVar9 + 0xb8) + 8);
	 *           if (plVar14 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           lVar9 = *plVar14;
	 *           uVar12 = (ulong)*(ushort *)(lVar9 + 0x12e);
	 *           if (uVar12 != 0) {
	 *             piVar13 = (int *)(*(long *)(lVar9 + 0xb0) + 8);
	 *             do {
	 *               if (*(long *)(piVar13 + -2) ==
	 *                   *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40) {
	 *                 puVar10 = (undefined8 *)(lVar9 + (long)(*piVar13 + 3) * 0x10 + 0x138);
	 *                 goto LAB_069382a8;
	 *               }
	 *               uVar12 = uVar12 - 1;
	 *               piVar13 = piVar13 + 4;
	 *             } while (uVar12 != 0);
	 *           }
	 *           puVar10 = (undefined8 *)
	 *                     func_0x03237558(plVar14,*(long *)
	 *                                              typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3);
	 * LAB_069382a8:
	 *           (*(code *)*puVar10)(plVar14,3,uVar6,puVar10[1]);
	 *           return;
	 *         }
	 *         fVar15 = UnityEngine.Time.get_time();
	 *         this.currentTarget = pvVar5;
	 *         this.lastBehaviorChangeTime = fVar15;
	 *         this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,pvVar5);
	 *         iVar4 = AdvancedAI_Final.GetViewID(this_00,pvVar5);
	 *         pvVar7 = MonoBehaviourPun.get_photonView(this);
	 *         plVar14 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *         puVar1 = PTR_DAT_070c0840;
	 *         iStack_44 = behavior;
	 *         lVar9 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&iStack_44);
	 *         if (plVar14 == null) {
	 * LAB_032f4acc:
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         if ((lVar9 != 0) &&
	 *            (lVar8 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar14 + 0x40)), lVar8 == 0)) {
	 * LAB_032f4ad4:
	 *           uVar11 = func_0x031fdf58();
	 *           IL2CPP.ThrowManagedException();
	 *         }
	 *         if ((int)plVar14[3] != 0) {
	 *           plVar14[4] = lVar9;
	 *           func_0x031fdc38(plVar14 + 4,lVar9);
	 *           iStack_48 = iVar4;
	 *           lVar9 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),&iStack_48);
	 *           if ((lVar9 != 0) &&
	 *              (lVar8 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar14 + 0x40)), lVar8 == 0))
	 *           goto LAB_032f4ad4;
	 *           if ((*(uint *)(plVar14 + 3) & 0xfffffffe) != 0) {
	 *             plVar14[5] = lVar9;
	 *             func_0x031fdc38(plVar14 + 5,lVar9);
	 *             if (pvVar7 != null) {
	 *               Photon.Pun.PhotonView.RPC(pvVar7,*(void **)PTR_DAT_070c0a18,3,plVar14);
	 *               AdvancedAI_Final.BeginBehaviorMaster(this,behavior,pvVar5);
	 *               if (behavior != 4) {
	 *                 return;
	 *               }
	 *               if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4)
	 *                   == 0) {
	 *                 func_0x031fde08();
	 *               }
	 *               bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *               if (!bVar2) {
	 *                 return;
	 *               }
	 *               pvVar5 = this.agent;
	 *               if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0)
	 *               {
	 *                 func_0x031fde08();
	 *               }
	 *               pvVar7 = null;
	 *               uVar12 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *               if ((uVar12 & 1) == 0) {
	 *                 return;
	 *               }
	 *               pvVar5 = AdvancedAI_Final.TemporaryAcceleration(this,this.agent,this.chaseSpeed);
	 *               UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar5)
	 *               ;
	 *               return;
	 *             }
	 *             goto LAB_032f4acc;
	 *           }
	 *         }
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x31F398C VA: 0x78188DE98C
	public override void OnJoinedRoom();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   int iVar3;
	 *   undefined8 uVar4;
	 *   AdvancedAI_Final *this_00;
	 *   long lVar5;
	 *   long lVar6;
	 *   undefined8 *puVar7;
	 *   void *extraout_x1;
	 *   void *extraout_x1_00;
	 *   undefined8 uVar8;
	 *   undefined8 extraout_x1_01;
	 *   undefined8 extraout_x1_02;
	 *   ulong uVar9;
	 *   int *piVar10;
	 *   void *pvVar11;
	 *   long *plVar12;
	 *   float fVar13;
	 *   undefined1 auVar14 [16];
	 *   int aiStack_48 [2];
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a72b & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a72b = 1;
	 *   }
	 *   MonoBehaviourPunCallbacks.OnJoinedRoom(this);
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (!bVar2) {
	 *     return;
	 *   }
	 *   pvVar11 = this.agent;
	 *   if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   auVar14 = UnityEngine.Object.op_Inequality(pvVar11,null);
	 *   pvVar11 = auVar14._8_8_;
	 *   if ((auVar14._0_8_ & 1) != 0) {
	 *     if (this.agent == null) {
	 * LAB_032f3a80:
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     bVar2 = UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.get_enabled(this.agent);
	 *     pvVar11 = extraout_x1;
	 *     if (!bVar2) {
	 *       if (this.agent == null) goto LAB_032f3a80;
	 *       UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(this.agent,true);
	 *       pvVar11 = extraout_x1_00;
	 *     }
	 *   }
	 *   this.currentBehavior = 0;
	 *   AdvancedAI_Final.StopBehaviorRoutineImmediate(this);
	 *   pvVar11 = null;
	 *   if ((bRam000000000754a732 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a18);
	 *     func_0x031fdc8c(PTR_DAT_070c0a20);
	 *     bRam000000000754a732 = 1;
	 *   }
	 *   fVar13 = UnityEngine.Time.get_time();
	 *   puVar1 = PTR_DAT_070c0a10;
	 *   if (fVar13 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown) {
	 *     if (this.debugLogs == false) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *     uVar8 = 0;
	 *     uVar4 = *(undefined8 *)PTR_DAT_070c0a20;
	 *     if ((bRam000000000755e091 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
	 *       bRam000000000755e091 = 1;
	 *       uVar8 = extraout_x1_01;
	 *     }
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       uVar8 = extraout_x1_02;
	 *     }
	 *     if (cRam000000000755000b == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar8);
	 *       cRam000000000755000b = '\x01';
	 *     }
	 *     lVar6 = *(long *)puVar1;
	 *     if (*(int *)(lVar6 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar6 = *(long *)puVar1;
	 *     }
	 *     plVar12 = *(long **)(*(long *)(lVar6 + 0xb8) + 8);
	 *     if (plVar12 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     lVar6 = *plVar12;
	 *     uVar9 = (ulong)*(ushort *)(lVar6 + 0x12e);
	 *     if (uVar9 != 0) {
	 *       piVar10 = (int *)(*(long *)(lVar6 + 0xb0) + 8);
	 *       do {
	 *         if (*(long *)(piVar10 + -2) == *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40)
	 *         {
	 *           puVar7 = (undefined8 *)(lVar6 + (long)(*piVar10 + 3) * 0x10 + 0x138);
	 *           goto LAB_069382a8;
	 *         }
	 *         uVar9 = uVar9 - 1;
	 *         piVar10 = piVar10 + 4;
	 *       } while (uVar9 != 0);
	 *     }
	 *     puVar7 = (undefined8 *)
	 *              func_0x03237558(plVar12,*(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3)
	 *     ;
	 * LAB_069382a8:
	 *     (*(code *)*puVar7)(plVar12,3,uVar4,puVar7[1]);
	 *     return;
	 *   }
	 *   fVar13 = UnityEngine.Time.get_time();
	 *   this.currentTarget = null;
	 *   this.lastBehaviorChangeTime = fVar13;
	 *   this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,0);
	 *   iVar3 = AdvancedAI_Final.GetViewID(this_00,null);
	 *   pvVar11 = MonoBehaviourPun.get_photonView(this);
	 *   plVar12 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *   puVar1 = PTR_DAT_070c0840;
	 *   aiStack_48[1] = 0;
	 *   lVar6 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),aiStack_48 + 1);
	 *   if (plVar12 == null) {
	 * LAB_032f4acc:
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   if ((lVar6 != 0) && (lVar5 = func_0x031fde0c(lVar6,*(undefined8 *)(*plVar12 + 0x40)), lVar5 == 0))
	 *   {
	 * LAB_032f4ad4:
	 *     uVar8 = func_0x031fdf58();
	 *     IL2CPP.ThrowManagedException();
	 *   }
	 *   if ((int)plVar12[3] != 0) {
	 *     plVar12[4] = lVar6;
	 *     func_0x031fdc38(plVar12 + 4,lVar6);
	 *     aiStack_48[0] = iVar3;
	 *     lVar6 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),aiStack_48);
	 *     if ((lVar6 != 0) &&
	 *        (lVar5 = func_0x031fde0c(lVar6,*(undefined8 *)(*plVar12 + 0x40)), lVar5 == 0))
	 *     goto LAB_032f4ad4;
	 *     if ((*(uint *)(plVar12 + 3) & 0xfffffffe) != 0) {
	 *       plVar12[5] = lVar6;
	 *       func_0x031fdc38(plVar12 + 5,lVar6);
	 *       if (pvVar11 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar11,*(void **)PTR_DAT_070c0a18,3,plVar12);
	 *         AdvancedAI_Final.BeginBehaviorMaster(this,0,null);
	 *         return;
	 *       }
	 *       goto LAB_032f4acc;
	 *     }
	 *   }
	 *   IL2CPP.ThrowIndexOutOfRangeException();
	 */
	// RVA: 0x31F3B34 VA: 0x78188DEB34
	public override void OnMasterClientSwitched(Photon.Realtime.Player newMasterClient);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   int iVar3;
	 *   undefined8 uVar4;
	 *   AdvancedAI_Final *this;
	 *   long lVar5;
	 *   long lVar6;
	 *   undefined8 *puVar7;
	 *   void *extraout_x1;
	 *   void *extraout_x1_00;
	 *   undefined8 uVar8;
	 *   undefined8 extraout_x1_01;
	 *   undefined8 extraout_x1_02;
	 *   ulong uVar9;
	 *   int *piVar10;
	 *   void *pvVar11;
	 *   long *plVar12;
	 *   float fVar13;
	 *   undefined1 auVar14 [16];
	 *   int aiStack_48 [2];
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a72c & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a72c = 1;
	 *   }
	 *   MonoBehaviourPunCallbacks.OnMasterClientSwitched(param_1,param_2);
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (!bVar2) {
	 *     return;
	 *   }
	 *   pvVar11 = param_1->agent;
	 *   if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   auVar14 = UnityEngine.Object.op_Inequality(pvVar11,null);
	 *   pvVar11 = auVar14._8_8_;
	 *   if ((auVar14._0_8_ & 1) != 0) {
	 *     if (param_1->agent == null) {
	 * LAB_032f3c3c:
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     bVar2 = UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.get_enabled(param_1->agent);
	 *     pvVar11 = extraout_x1;
	 *     if (!bVar2) {
	 *       if (param_1->agent == null) goto LAB_032f3c3c;
	 *       UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(param_1->agent,true);
	 *       pvVar11 = extraout_x1_00;
	 *     }
	 *   }
	 *   param_1->currentBehavior = 0;
	 *   AdvancedAI_Final.StopBehaviorRoutineImmediate(param_1);
	 *   pvVar11 = null;
	 *   if ((bRam000000000754a732 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a18);
	 *     func_0x031fdc8c(PTR_DAT_070c0a20);
	 *     bRam000000000754a732 = 1;
	 *   }
	 *   fVar13 = UnityEngine.Time.get_time();
	 *   puVar1 = PTR_DAT_070c0a10;
	 *   if (fVar13 - param_1->lastBehaviorChangeTime < param_1->behaviorSwitchCooldown) {
	 *     if (param_1->debugLogs == false) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *     uVar8 = 0;
	 *     uVar4 = *(undefined8 *)PTR_DAT_070c0a20;
	 *     if ((bRam000000000755e091 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
	 *       bRam000000000755e091 = 1;
	 *       uVar8 = extraout_x1_01;
	 *     }
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       uVar8 = extraout_x1_02;
	 *     }
	 *     if (cRam000000000755000b == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar8);
	 *       cRam000000000755000b = '\x01';
	 *     }
	 *     lVar6 = *(long *)puVar1;
	 *     if (*(int *)(lVar6 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar6 = *(long *)puVar1;
	 *     }
	 *     plVar12 = *(long **)(*(long *)(lVar6 + 0xb8) + 8);
	 *     if (plVar12 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     lVar6 = *plVar12;
	 *     uVar9 = (ulong)*(ushort *)(lVar6 + 0x12e);
	 *     if (uVar9 != 0) {
	 *       piVar10 = (int *)(*(long *)(lVar6 + 0xb0) + 8);
	 *       do {
	 *         if (*(long *)(piVar10 + -2) == *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40)
	 *         {
	 *           puVar7 = (undefined8 *)(lVar6 + (long)(*piVar10 + 3) * 0x10 + 0x138);
	 *           goto LAB_069382a8;
	 *         }
	 *         uVar9 = uVar9 - 1;
	 *         piVar10 = piVar10 + 4;
	 *       } while (uVar9 != 0);
	 *     }
	 *     puVar7 = (undefined8 *)
	 *              func_0x03237558(plVar12,*(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3)
	 *     ;
	 * LAB_069382a8:
	 *     (*(code *)*puVar7)(plVar12,3,uVar4,puVar7[1]);
	 *     return;
	 *   }
	 *   fVar13 = UnityEngine.Time.get_time();
	 *   param_1->currentTarget = null;
	 *   param_1->lastBehaviorChangeTime = fVar13;
	 *   this = (AdvancedAI_Final *)func_0x031fdc38(&param_1->currentTarget,0);
	 *   iVar3 = AdvancedAI_Final.GetViewID(this,null);
	 *   pvVar11 = MonoBehaviourPun.get_photonView(param_1);
	 *   plVar12 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *   puVar1 = PTR_DAT_070c0840;
	 *   aiStack_48[1] = 0;
	 *   lVar6 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),aiStack_48 + 1);
	 *   if (plVar12 == null) {
	 * LAB_032f4acc:
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   if ((lVar6 != 0) && (lVar5 = func_0x031fde0c(lVar6,*(undefined8 *)(*plVar12 + 0x40)), lVar5 == 0))
	 *   {
	 * LAB_032f4ad4:
	 *     uVar8 = func_0x031fdf58();
	 *     IL2CPP.ThrowManagedException();
	 *   }
	 *   if ((int)plVar12[3] != 0) {
	 *     plVar12[4] = lVar6;
	 *     func_0x031fdc38(plVar12 + 4,lVar6);
	 *     aiStack_48[0] = iVar3;
	 *     lVar6 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),aiStack_48);
	 *     if ((lVar6 != 0) &&
	 *        (lVar5 = func_0x031fde0c(lVar6,*(undefined8 *)(*plVar12 + 0x40)), lVar5 == 0))
	 *     goto LAB_032f4ad4;
	 *     if ((*(uint *)(plVar12 + 3) & 0xfffffffe) != 0) {
	 *       plVar12[5] = lVar6;
	 *       func_0x031fdc38(plVar12 + 5,lVar6);
	 *       if (pvVar11 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar11,*(void **)PTR_DAT_070c0a18,3,plVar12);
	 *         AdvancedAI_Final.BeginBehaviorMaster(param_1,0,null);
	 *         return;
	 *       }
	 *       goto LAB_032f4acc;
	 *     }
	 *   }
	 *   IL2CPP.ThrowIndexOutOfRangeException();
	 */
	// RVA: 0x31F3740 VA: 0x78188DE740
	private void AgentUpdate();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   bool bVar3;
	 *   long lVar4;
	 *   ulong uVar5;
	 *   void *extraout_x1;
	 *   undefined8 uVar6;
	 *   void *pvVar7;
	 *
	 *   puVar2 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a72d & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a72d = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   lVar4 = *(long *)puVar2;
	 *   if (*(int *)(lVar4 + 0xe4) == 0) {
	 *     func_0x031fde08(lVar4,methodInfo);
	 *   }
	 *   bVar3 = Photon.Pun.PhotonNetwork.get_InRoom();
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if (bVar3) {
	 *     if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     bVar3 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *     pvVar7 = this.agent;
	 *     if (bVar3) {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar5 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *       if ((uVar5 & 1) != 0) {
	 *         if (this.agent != null) {
	 *           bVar3 = UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.get_enabled(this.agent);
	 *           if (bVar3) {
	 *             return;
	 *           }
	 *           pvVar7 = this.agent;
	 *           if (pvVar7 != null) {
	 *             uVar6 = 1;
	 * LAB_032f384c:
	 *             if ((bRam000000000755f745 & 1) == 0) {
	 *               func_0x031fdc8c(PTR_DAT_0714f3a0,uVar6,0);
	 *               bRam000000000755f745 = 1;
	 *             }
	 *             if (pvVar7 == null) {
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *             lVar4 = *(long *)((long)pvVar7 + 0x10);
	 *             if (lVar4 == 0) {
	 *               UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar7);
	 *             }
	 *             if (pcRam000000000755f750 == null) {
	 *               pcRam000000000755f750 = (code *)func_0x031fdc50(&UNK_0137c3e0);
	 *             }
	 *             (*pcRam000000000755f750)(lVar4,uVar6);
	 *             return;
	 *           }
	 *         }
	 * LAB_032f3868:
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *     }
	 *     else {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar5 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *       if ((uVar5 & 1) != 0) {
	 *         if (this.agent != null) {
	 *           bVar3 = UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.get_enabled(this.agent);
	 *           if (!bVar3) {
	 *             return;
	 *           }
	 *           pvVar7 = this.agent;
	 *           if (pvVar7 != null) {
	 *             uVar6 = 0;
	 *             goto LAB_032f384c;
	 *           }
	 *         }
	 *         goto LAB_032f3868;
	 *       }
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x31F386C VA: 0x78188DE86C
	private void BehaviorUpdate();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   uint uVar3;
	 *   int iVar4;
	 *   void *pvVar5;
	 *   undefined8 uVar6;
	 *   AdvancedAI_Final *this_00;
	 *   void *pvVar7;
	 *   long lVar8;
	 *   long lVar9;
	 *   undefined8 *puVar10;
	 *   void *extraout_x1;
	 *   undefined8 uVar11;
	 *   undefined8 extraout_x1_00;
	 *   undefined8 extraout_x1_01;
	 *   void *in_x2;
	 *   void *in_x3;
	 *   int behavior;
	 *   ulong uVar12;
	 *   int *piVar13;
	 *   long *plVar14;
	 *   float fVar15;
	 *   float fVar16;
	 *   undefined1 auVar17 [16];
	 *   int iStack_48;
	 *   int iStack_44;
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a72e & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a72e = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if ((bVar2) && (this.allowBehaviorUpdate != false)) {
	 *     fVar16 = this.updateTimer;
	 *     fVar15 = UnityEngine.Time.get_deltaTime();
	 *     fVar16 = fVar16 + fVar15;
	 *     this.updateTimer = fVar16;
	 *     if ((this.updateFrequency <= fVar16) && (this.updateTimer = 0.0, this.currentBehavior == 0))
	 *     {
	 *       if (this.behaviorRoutine == null) {
	 *         in_x2 = null;
	 *         AdvancedAI_Final.BeginBehaviorMaster(this,0,null);
	 *       }
	 *       pvVar5 = AdvancedAI_Final.ChooseBestTarget(this,null);
	 *       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *         func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *       }
	 *       auVar17 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *       if ((auVar17._0_8_ & 1) != 0) {
	 *         AdvancedAI_Final.StopExclusiveCoroutine(this);
	 *         this.currentTarget = pvVar5;
	 *         func_0x031fdc38(&this.currentTarget);
	 *         uVar3 = Random.Range(0,100);
	 *         if ((int)uVar3 < 0x1e) {
	 *           behavior = 1;
	 *         }
	 *         else if (uVar3 < 0x3c) {
	 *           behavior = 2;
	 *         }
	 *         else {
	 *           behavior = 3;
	 *           if (0x59 < uVar3) {
	 *             behavior = 4;
	 *           }
	 *         }
	 *         pvVar7 = pvVar5;
	 *         if ((bRam000000000754a732 & 1) == 0) {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *           func_0x031fdc8c(PTR_DAT_070c0a10);
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *           func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *           func_0x031fdc8c(PTR_DAT_070c0a18);
	 *           func_0x031fdc8c(PTR_DAT_070c0a20);
	 *           bRam000000000754a732 = 1;
	 *         }
	 *         fVar15 = UnityEngine.Time.get_time();
	 *         puVar1 = PTR_DAT_070c0a10;
	 *         if (fVar15 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown) {
	 *           if (this.debugLogs == false) {
	 *             return;
	 *           }
	 *           if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *           uVar11 = 0;
	 *           uVar6 = *(undefined8 *)PTR_DAT_070c0a20;
	 *           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_00;
	 *           }
	 *           if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *             uVar11 = extraout_x1_01;
	 *           }
	 *           if (cRam000000000755000b == '\0') {
	 *             func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar11);
	 *             cRam000000000755000b = '\x01';
	 *           }
	 *           lVar9 = *(long *)puVar1;
	 *           if (*(int *)(lVar9 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *             lVar9 = *(long *)puVar1;
	 *           }
	 *           plVar14 = *(long **)(*(long *)(lVar9 + 0xb8) + 8);
	 *           if (plVar14 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           lVar9 = *plVar14;
	 *           uVar12 = (ulong)*(ushort *)(lVar9 + 0x12e);
	 *           if (uVar12 != 0) {
	 *             piVar13 = (int *)(*(long *)(lVar9 + 0xb0) + 8);
	 *             do {
	 *               if (*(long *)(piVar13 + -2) ==
	 *                   *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40) {
	 *                 puVar10 = (undefined8 *)(lVar9 + (long)(*piVar13 + 3) * 0x10 + 0x138);
	 *                 goto LAB_069382a8;
	 *               }
	 *               uVar12 = uVar12 - 1;
	 *               piVar13 = piVar13 + 4;
	 *             } while (uVar12 != 0);
	 *           }
	 *           puVar10 = (undefined8 *)
	 *                     func_0x03237558(plVar14,*(long *)
	 *                                              typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3);
	 * LAB_069382a8:
	 *           (*(code *)*puVar10)(plVar14,3,uVar6,puVar10[1]);
	 *           return;
	 *         }
	 *         fVar15 = UnityEngine.Time.get_time();
	 *         this.currentTarget = pvVar5;
	 *         this.lastBehaviorChangeTime = fVar15;
	 *         this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,pvVar5);
	 *         iVar4 = AdvancedAI_Final.GetViewID(this_00,pvVar5);
	 *         pvVar7 = MonoBehaviourPun.get_photonView(this);
	 *         plVar14 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *         puVar1 = PTR_DAT_070c0840;
	 *         iStack_44 = behavior;
	 *         lVar9 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&iStack_44);
	 *         if (plVar14 == null) {
	 * LAB_032f4acc:
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         if ((lVar9 != 0) &&
	 *            (lVar8 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar14 + 0x40)), lVar8 == 0)) {
	 * LAB_032f4ad4:
	 *           uVar11 = func_0x031fdf58();
	 *           IL2CPP.ThrowManagedException();
	 *         }
	 *         if ((int)plVar14[3] != 0) {
	 *           plVar14[4] = lVar9;
	 *           func_0x031fdc38(plVar14 + 4,lVar9);
	 *           iStack_48 = iVar4;
	 *           lVar9 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),&iStack_48);
	 *           if ((lVar9 != 0) &&
	 *              (lVar8 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar14 + 0x40)), lVar8 == 0))
	 *           goto LAB_032f4ad4;
	 *           if ((*(uint *)(plVar14 + 3) & 0xfffffffe) != 0) {
	 *             plVar14[5] = lVar9;
	 *             func_0x031fdc38(plVar14 + 5,lVar9);
	 *             if (pvVar7 != null) {
	 *               Photon.Pun.PhotonView.RPC(pvVar7,*(void **)PTR_DAT_070c0a18,3,plVar14);
	 *               AdvancedAI_Final.BeginBehaviorMaster(this,behavior,pvVar5);
	 *               if (behavior != 4) {
	 *                 return;
	 *               }
	 *               if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4)
	 *                   == 0) {
	 *                 func_0x031fde08();
	 *               }
	 *               bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *               if (!bVar2) {
	 *                 return;
	 *               }
	 *               pvVar5 = this.agent;
	 *               if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0)
	 *               {
	 *                 func_0x031fde08();
	 *               }
	 *               pvVar7 = null;
	 *               uVar12 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *               if ((uVar12 & 1) == 0) {
	 *                 return;
	 *               }
	 *               pvVar5 = AdvancedAI_Final.TemporaryAcceleration(this,this.agent,this.chaseSpeed);
	 *               UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar5)
	 *               ;
	 *               return;
	 *             }
	 *             goto LAB_032f4acc;
	 *           }
	 *         }
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x31F4210 VA: 0x78188DF210
	private System.Collections.Generic.List<UnityEngine.GameObject> FindAllTargetsInRadius();
	/*
	 *   uint uVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   bool bVar4;
	 *   int iVar5;
	 *   long lVar6;
	 *   void *pvVar7;
	 *   undefined8 *puVar8;
	 *   long *plVar9;
	 *   void *extraout_x1;
	 *   ulong uVar10;
	 *   ulong uVar11;
	 *   long lVar12;
	 *   void *pvVar13;
	 *   long lVar14;
	 *   int iVar15;
	 *   void *pvVar16;
	 *   undefined8 uVar17;
	 *   void *this_00;
	 *   ulong uVar18;
	 *   float fVar19;
	 *   float fVar20;
	 *   float fVar21;
	 *   float fVar22;
	 *   float fVar23;
	 *   float fVar24;
	 *   float fVar25;
	 *   float fVar26;
	 *   UnityEngine_Vector3 UVar27;
	 *   UnityEngine_Vector3 UVar28;
	 *   UnityEngine_Vector3 start;
	 *   undefined8 uStack_b0;
	 *   undefined8 uStack_a8;
	 *
	 *   puVar3 = PTR_DAT_070c09a0;
	 *   puVar2 = PTR_DAT_070c0998;
	 *   if ((bRam000000000754a72f & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c09a8);
	 *     func_0x031fdc8c(PTR_DAT_070c09b0);
	 *     func_0x031fdc8c(PTR_DAT_070c09b8);
	 *     func_0x031fdc8c(PTR_DAT_070c09c0);
	 *     func_0x031fdc8c(PTR_DAT_070c09c8);
	 *     func_0x031fdc8c(PTR_DAT_070c09a0);
	 *     func_0x031fdc8c(PTR_DAT_070c09d0);
	 *     func_0x031fdc8c(PTR_DAT_070c09d8);
	 *     func_0x031fdc8c(PTR_DAT_070c0998);
	 *     func_0x031fdc8c(PTR_DAT_070c09e0);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_PhysicsModule_Physics_6FC09E8);
	 *     func_0x031fdc8c(PTR_DAT_070c09f0);
	 *     func_0x031fdc8c(PTR_DAT_070c09f8);
	 *     func_0x031fdc8c(PTR_DAT_070c0a00);
	 *     bRam000000000754a72f = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   lVar6 = func_0x031fdf24(*(undefined8 *)puVar2,methodInfo);
	 *   func_0x03e3b5e4(lVar6,*(undefined8 *)puVar3);
	 *   puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08;
	 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   pvVar13 = this.targetTags;
	 *   if (pvVar13 != null) {
	 *     if (0 < (int)*(ulong *)((long)pvVar13 + 0x18)) {
	 *       uVar18 = 0;
	 *       fVar19 = this.alertRadius;
	 *       uVar10 = *(ulong *)((long)pvVar13 + 0x18) & 0xffffffff;
	 *       do {
	 *         if (uVar10 <= uVar18) {
	 * LAB_032f47b0:
	 *           IL2CPP.ThrowIndexOutOfRangeException();
	 *         }
	 *         pvVar16 = *(void **)((long)pvVar13 + uVar18 * 8 + 0x20);
	 *         bVar4 = System.String.IsNullOrEmpty(pvVar16);
	 *         if (((!bVar4) &&
	 *             (pvVar16 = UnityEngine.GameObject.FindGameObjectsWithTag(pvVar16), pvVar16 != null)) &&
	 *            (0 < (int)*(ulong *)((long)pvVar16 + 0x18))) {
	 *           uVar10 = 0;
	 *           uVar11 = *(ulong *)((long)pvVar16 + 0x18) & 0xffffffff;
	 *           do {
	 *             if (uVar11 <= uVar10) goto LAB_032f47b0;
	 *             this_00 = *(void **)((long)pvVar16 + uVar10 * 8 + 0x20);
	 *             if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             uVar11 = UnityEngine.Object.op_Equality(this_00,null);
	 *             if ((uVar11 & 1) == 0) {
	 *               pvVar7 = UnityEngine.Component.get_transform(this);
	 *               if (pvVar7 == null) goto LAB_032f47ac;
	 *               UVar27 = UnityEngine.Transform.get_position(pvVar7);
	 *               if ((this_00 == null) ||
	 *                  (pvVar7 = UnityEngine.GameObject.get_transform(this_00), pvVar7 == null))
	 *               goto LAB_032f47ac;
	 *               UVar28 = UnityEngine.Transform.get_position(pvVar7);
	 *               fVar20 = UVar27.x - UVar28.x;
	 *               fVar21 = UVar27.y - UVar28.y;
	 *               fVar22 = UVar27.z - UVar28.z;
	 *               fVar20 = fVar22 * fVar22 + fVar20 * fVar20 + fVar21 * fVar21;
	 *               if (fVar20 <= fVar19 * fVar19) {
	 *                 pvVar7 = UnityEngine.Component.get_transform(this);
	 *                 if (pvVar7 == null) goto LAB_032f47ac;
	 *                 UVar27 = UnityEngine.Transform.get_position(pvVar7)
	 *                 ;
	 *                 if (cRam000000000754a7cb == '\0') {
	 *                   func_0x031fdc8c(puVar3);
	 *                   cRam000000000754a7cb = '\x01';
	 *                 }
	 *                 lVar12 = *(long *)(*(long *)puVar3 + 0xb8);
	 *                 fVar26 = *(float *)(lVar12 + 0x18);
	 *                 fVar21 = *(float *)(lVar12 + 0x1c);
	 *                 fVar22 = *(float *)(lVar12 + 0x20);
	 *                 pvVar7 = UnityEngine.GameObject.get_transform(this_00);
	 *                 if (pvVar7 == null) goto LAB_032f47ac;
	 *                 UVar28 = UnityEngine.Transform.get_position(pvVar7)
	 *                 ;
	 *                 if (cRam000000000754a7cb == '\0') {
	 *                   func_0x031fdc8c(puVar3);
	 *                   cRam000000000754a7cb = '\x01';
	 *                 }
	 *                 lVar12 = *(long *)(*(long *)puVar3 + 0xb8);
	 *                 fVar23 = *(float *)(lVar12 + 0x18);
	 *                 fVar24 = *(float *)(lVar12 + 0x1c);
	 *                 fVar25 = *(float *)(lVar12 + 0x20);
	 *                 iVar5 = UnityEngine.LayerMask.op_Implicit(this.obstructionMask);
	 *                 if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_PhysicsModule_Physics_6FC09E8 + 0xe4)
	 *                     == 0) {
	 *                   func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_PhysicsModule_Physics_6FC09E8);
	 *                 }
	 *                 start.y = UVar27.y + fVar21 * 0.5;
	 *                 start.x = UVar27.x + fVar26 * 0.5;
	 *                 start.z = UVar27.z + fVar22 * 0.5;
	 *                 UVar27.z = UVar28.z + fVar25 * 0.5;
	 *                 UVar27.x = UVar28.x + fVar23 * 0.5;
	 *                 UVar27.y = UVar28.y + fVar24 * 0.5;
	 *                 bVar4 = Physics.Linecast(start,UVar27,iVar5);
	 *                 if (!bVar4) {
	 *                   uStack_b0 = 0;
	 *                   uStack_a8 = 0;
	 *                   func_0x04a0c96c(fVar20,&uStack_b0,this_00,*(undefined8 *)PTR_DAT_070c0a00);
	 *                   if (lVar6 == 0) goto LAB_032f47ac;
	 *                   lVar12 = *(long *)(lVar6 + 0x10);
	 *                   lVar14 = *(long *)PTR_DAT_070c09b8;
	 *                   *(int *)(lVar6 + 0x1c) = *(int *)(lVar6 + 0x1c) + 1;
	 *                   if (lVar12 == 0) goto LAB_032f47ac;
	 *                   uVar1 = *(uint *)(lVar6 + 0x18);
	 *                   if (uVar1 < *(uint *)(lVar12 + 0x18)) {
	 *                     lVar12 = lVar12 + (long)(int)uVar1 * 0x10;
	 *                     *(uint *)(lVar6 + 0x18) = uVar1 + 1;
	 *                     puVar8 = (undefined8 *)(lVar12 + 0x20);
	 *                     *puVar8 = uStack_b0;
	 *                     *(undefined8 *)(lVar12 + 0x28) = uStack_a8;
	 *                     func_0x031fdc38(puVar8,0);
	 *                   }
	 *                   else {
	 *                     func_0x03e3be90(lVar6,uStack_b0,uStack_a8,
	 *                                     *(undefined8 *)
	 *                                      (*(long *)(*(long *)(lVar14 + 0x20) + 0xc0) + 0x70));
	 *                   }
	 *                 }
	 *               }
	 *             }
	 *             uVar11 = (ulong)*(uint *)((long)pvVar16 + 0x18);
	 *             uVar10 = uVar10 + 1;
	 *           } while ((long)uVar10 < (long)(int)*(uint *)((long)pvVar16 + 0x18));
	 *         }
	 *         uVar18 = uVar18 + 1;
	 *         uVar10 = (ulong)*(uint *)((long)pvVar13 + 0x18);
	 *       } while ((long)uVar18 < (long)(int)*(uint *)((long)pvVar13 + 0x18));
	 *     }
	 *     puVar2 = PTR_DAT_070c09f8;
	 *     lVar12 = *(long *)PTR_DAT_070c09f8;
	 *     if (*(int *)(lVar12 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar12 = *(long *)puVar2;
	 *     }
	 *     puVar8 = *(undefined8 **)(lVar12 + 0xb8);
	 *     lVar14 = puVar8[1];
	 *     if (lVar14 == 0) {
	 *       if (*(int *)(lVar12 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *         puVar8 = *(undefined8 **)(*(long *)puVar2 + 0xb8);
	 *       }
	 *       uVar17 = *puVar8;
	 *       lVar14 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c09a8);
	 *       func_0x04bb5200(lVar14,uVar17,*(undefined8 *)PTR_DAT_070c09f0,0);
	 *       plVar9 = (long *)(*(long *)(*(long *)puVar2 + 0xb8) + 8);
	 *       *plVar9 = lVar14;
	 *       func_0x031fdc38(plVar9,lVar14);
	 *     }
	 *     puVar3 = PTR_DAT_070c09e0;
	 *     puVar2 = PTR_DAT_070c09c8;
	 *     if (lVar6 != 0) {
	 *       func_0x03e3d934(lVar6,lVar14,*(undefined8 *)PTR_DAT_070c09c0);
	 *       pvVar13 = (void *)func_0x031fdf24(*(undefined8 *)puVar3);
	 *       func_0x03f2ce9c(pvVar13,*(undefined8 *)puVar2);
	 *       puVar3 = PTR_DAT_070c09d8;
	 *       puVar2 = PTR_DAT_070c09b0;
	 *       iVar5 = this.maxTargetsConsidered;
	 *       if (*(int *)(lVar6 + 0x18) <= this.maxTargetsConsidered) {
	 *         iVar5 = *(int *)(lVar6 + 0x18);
	 *       }
	 *       if (0 < iVar5) {
	 *         iVar15 = 0;
	 *         do {
	 *           uVar17 = func_0x03e3bb7c(lVar6,iVar15,*(undefined8 *)puVar3);
	 *           if (pvVar13 == null) goto LAB_032f47ac;
	 *           lVar12 = *(long *)((long)pvVar13 + 0x10);
	 *           lVar14 = *(long *)puVar2;
	 *           *(int *)((long)pvVar13 + 0x1c) = *(int *)((long)pvVar13 + 0x1c) + 1;
	 *           if (lVar12 == 0) goto LAB_032f47ac;
	 *           uVar1 = *(uint *)((long)pvVar13 + 0x18);
	 *           if (uVar1 < *(uint *)(lVar12 + 0x18)) {
	 *             *(uint *)((long)pvVar13 + 0x18) = uVar1 + 1;
	 *             *(undefined8 *)(lVar12 + (long)(int)uVar1 * 8 + 0x20) = uVar17;
	 *             func_0x031fdc38();
	 *           }
	 *           else {
	 *             func_0x03f2d704(pvVar13,uVar17,
	 *                             *(undefined8 *)(*(long *)(*(long *)(lVar14 + 0x20) + 0xc0) + 0x70));
	 *           }
	 *           iVar15 = iVar15 + 1;
	 *         } while (iVar5 != iVar15);
	 *       }
	 *       return pvVar13;
	 *     }
	 *   }
	 * LAB_032f47ac:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F3D68 VA: 0x78188DED68
	private UnityEngine.GameObject ChooseBestTarget(UnityEngine.GameObject currentCandidate);
	/*
	 *   void *pvVar1;
	 *   void *this_00;
	 *   ulong uVar2;
	 *   void *str3;
	 *   void *extraout_x1;
	 *   undefined8 *puVar3;
	 *   float fVar4;
	 *   float fVar5;
	 *   float fVar6;
	 *   float fVar7;
	 *   float fVar8;
	 *   float fVar9;
	 *   UnityEngine_Vector3 UVar10;
	 *   UnityEngine_Vector3 UVar11;
	 *   UnityEngine_Vector3 UVar12;
	 *
	 *   pvVar1 = currentCandidate;
	 *   if ((bRam000000000754a730 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c0960);
	 *     func_0x031fdc8c(PTR_DAT_070c0968);
	 *     func_0x031fdc8c(PTR_DAT_070c0970);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(PTR_DAT_070c0978);
	 *     func_0x031fdc8c(PTR_DAT_070c0980);
	 *     func_0x031fdc8c(PTR_DAT_070c0988);
	 *     func_0x031fdc8c(PTR_DAT_070c0990);
	 *     bRam000000000754a730 = 1;
	 *     pvVar1 = extraout_x1;
	 *   }
	 *   pvVar1 = AdvancedAI_Final.FindAllTargetsInRadius(this);
	 *   if ((pvVar1 == null) || (*(int *)((long)pvVar1 + 0x18) == 0)) {
	 *     return null;
	 *   }
	 *   this_00 = (void *)func_0x03f2d434(pvVar1,0,*(undefined8 *)PTR_DAT_070c0970);
	 *   if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *   }
	 *   uVar2 = UnityEngine.Object.op_Equality(currentCandidate,null);
	 *   if ((uVar2 & 1) == 0) {
	 *     uVar2 = func_0x03f2daa0(pvVar1,currentCandidate,*(undefined8 *)PTR_DAT_070c0960);
	 *     fVar4 = UnityEngine.Time.get_time();
	 *     if (((uVar2 & 1) != 0) && (fVar4 - this.lastRetargetTime < this.retargetInterval)) {
	 *       return currentCandidate;
	 *     }
	 *     if ((uVar2 & 1) != 0) {
	 *       pvVar1 = UnityEngine.Component.get_transform(this);
	 *       if (pvVar1 == null) {
	 * LAB_032f40d0:
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *       UVar10 = UnityEngine.Transform.get_position(pvVar1);
	 *       if ((currentCandidate == null) ||
	 *          (pvVar1 = UnityEngine.GameObject.get_transform(currentCandidate), pvVar1 == null))
	 *       goto LAB_032f40d0;
	 *       UVar11 = UnityEngine.Transform.get_position(pvVar1);
	 *       pvVar1 = UnityEngine.Component.get_transform(this);
	 *       if (pvVar1 == null) goto LAB_032f40d0;
	 *       UVar12 = UnityEngine.Transform.get_position(pvVar1);
	 *       if ((this_00 == null) ||
	 *          (pvVar1 = UnityEngine.GameObject.get_transform(this_00),
	 *          pvVar1 == null)) goto LAB_032f40d0;
	 *       fVar4 = UVar10.x - UVar11.x;
	 *       fVar6 = UVar10.y - UVar11.y;
	 *       fVar8 = UVar10.z - UVar11.z;
	 *       UVar10 = UnityEngine.Transform.get_position(pvVar1);
	 *       fVar5 = UVar12.x - UVar10.x;
	 *       fVar7 = UVar12.y - UVar10.y;
	 *       fVar9 = UVar12.z - UVar10.z;
	 *       if (fVar8 * fVar8 + fVar4 * fVar4 + fVar6 * fVar6 <=
	 *           this.retargetDistanceThreshold * this.retargetDistanceThreshold +
	 *           fVar9 * fVar9 + fVar5 * fVar5 + fVar7 * fVar7) {
	 *         return currentCandidate;
	 *       }
	 *       fVar4 = UnityEngine.Time.get_time();
	 *       this.lastRetargetTime = fVar4;
	 *       if (this.debugLogs == false) {
	 *         return this_00;
	 *       }
	 *       pvVar1 = UnityEngine.Object.get_name(currentCandidate);
	 *       str3 = UnityEngine.Object.get_name(this_00);
	 *       pvVar1 = System.String.Concat(*(void **)PTR_DAT_070c0990,pvVar1,*(void **)PTR_DAT_070c0980,str3);
	 *       goto LAB_032f3eb0;
	 *     }
	 *     fVar4 = UnityEngine.Time.get_time();
	 *     this.lastRetargetTime = fVar4;
	 *     if (this.debugLogs == false) {
	 *       return this_00;
	 *     }
	 *     if (this_00 == null) goto LAB_032f40d0;
	 *     pvVar1 = UnityEngine.Object.get_name(this_00);
	 *     puVar3 = (undefined8 *)PTR_DAT_070c0978;
	 *   }
	 *   else {
	 *     fVar4 = UnityEngine.Time.get_time();
	 *     this.lastRetargetTime = fVar4;
	 *     if (this.debugLogs == false) {
	 *       return this_00;
	 *     }
	 *     if (this_00 == null) goto LAB_032f40d0;
	 *     pvVar1 = UnityEngine.Object.get_name(this_00);
	 *     puVar3 = (undefined8 *)PTR_DAT_070c0988;
	 *   }
	 *   pvVar1 = System.String.Concat((void *)*puVar3,pvVar1);
	 * LAB_032f3eb0:
	 *   if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *   }
	 *   UnityEngine.Debug.Log(pvVar1);
	 *   return this_00;
	 */
	// RVA: 0x31F47B4 VA: 0x78188DF7B4
	private UnityEngine.GameObject FindNearestTargetInRadius();
	/*
	 *   void *pvVar1;
	 *   void *extraout_x1;
	 *   undefined8 uVar2;
	 *   long lVar3;
	 *
	 *   if ((bRam000000000754a731 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0968);
	 *     func_0x031fdc8c(PTR_DAT_070c0970);
	 *     bRam000000000754a731 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   pvVar1 = AdvancedAI_Final.FindAllTargetsInRadius(this);
	 *   if ((pvVar1 == null) || (*(int *)((long)pvVar1 + 0x18) < 1)) {
	 *     return null;
	 *   }
	 *   uVar2 = *(undefined8 *)PTR_DAT_070c0970;
	 *   if (*(int *)((long)pvVar1 + 0x18) == 0) {
	 *     ThrowHelper.ThrowArgumentOutOfRange_IndexException();
	 *   }
	 *   lVar3 = *(long *)((long)pvVar1 + 0x10);
	 *   if (lVar3 != 0) {
	 *     if (*(int *)(lVar3 + 0x18) != 0) {
	 *       return *(void **)(lVar3 + 0x20);
	 *     }
	 *     IL2CPP.ThrowIndexOutOfRangeException();
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F4184 VA: 0x78188DF184
	private void StartNextBehavior(UnityEngine.GameObject target, bool initialEncounter);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   bool bVar3;
	 *   uint uVar4;
	 *   int iVar5;
	 *   undefined8 uVar6;
	 *   AdvancedAI_Final *this_00;
	 *   void *pvVar7;
	 *   long lVar8;
	 *   long lVar9;
	 *   undefined8 *puVar10;
	 *   undefined8 uVar11;
	 *   undefined8 extraout_x1;
	 *   undefined8 extraout_x1_00;
	 *   void *methodInfo_00;
	 *   int behavior;
	 *   ulong uVar12;
	 *   int *piVar13;
	 *   long *plVar14;
	 *   float fVar15;
	 *   int iStack_48;
	 *   int iStack_44;
	 *
	 *   this.currentTarget = target;
	 *   func_0x031fdc38(&this.currentTarget);
	 *   uVar4 = Random.Range(0,100);
	 *   if (initialEncounter) {
	 *     if ((int)uVar4 < 0x1e) {
	 * LAB_032f41ec:
	 *       behavior = 1;
	 *     }
	 *     else {
	 *       if (0x3b < uVar4) {
	 *         bVar2 = 0x58 < uVar4;
	 *         bVar3 = uVar4 == 0x59;
	 *         goto LAB_032f41e0;
	 *       }
	 * LAB_032f41f4:
	 *       behavior = 2;
	 *     }
	 *   }
	 *   else {
	 *     if ((int)uVar4 < 0x1e) goto LAB_032f41ec;
	 *     if (uVar4 < 0x37) goto LAB_032f41f4;
	 *     bVar2 = 0x53 < uVar4;
	 *     bVar3 = uVar4 == 0x54;
	 * LAB_032f41e0:
	 *     behavior = 3;
	 *     if (bVar2 && !bVar3) {
	 *       behavior = 4;
	 *     }
	 *   }
	 *   pvVar7 = target;
	 *   if ((bRam000000000754a732 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a18);
	 *     func_0x031fdc8c(PTR_DAT_070c0a20);
	 *     bRam000000000754a732 = 1;
	 *   }
	 *   fVar15 = UnityEngine.Time.get_time();
	 *   puVar1 = PTR_DAT_070c0a10;
	 *   if (fVar15 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown) {
	 *     if (this.debugLogs == false) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *     uVar11 = 0;
	 *     uVar6 = *(undefined8 *)PTR_DAT_070c0a20;
	 *     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;
	 *     }
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       uVar11 = extraout_x1_00;
	 *     }
	 *     if (cRam000000000755000b == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar11);
	 *       cRam000000000755000b = '\x01';
	 *     }
	 *     lVar9 = *(long *)puVar1;
	 *     if (*(int *)(lVar9 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar9 = *(long *)puVar1;
	 *     }
	 *     plVar14 = *(long **)(*(long *)(lVar9 + 0xb8) + 8);
	 *     if (plVar14 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     lVar9 = *plVar14;
	 *     uVar12 = (ulong)*(ushort *)(lVar9 + 0x12e);
	 *     if (uVar12 != 0) {
	 *       piVar13 = (int *)(*(long *)(lVar9 + 0xb0) + 8);
	 *       do {
	 *         if (*(long *)(piVar13 + -2) == *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40)
	 *         {
	 *           puVar10 = (undefined8 *)(lVar9 + (long)(*piVar13 + 3) * 0x10 + 0x138);
	 *           goto LAB_069382a8;
	 *         }
	 *         uVar12 = uVar12 - 1;
	 *         piVar13 = piVar13 + 4;
	 *       } while (uVar12 != 0);
	 *     }
	 *     puVar10 = (undefined8 *)
	 *               func_0x03237558(plVar14,*(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3
	 *                              );
	 * LAB_069382a8:
	 *     (*(code *)*puVar10)(plVar14,3,uVar6,puVar10[1]);
	 *     return;
	 *   }
	 *   fVar15 = UnityEngine.Time.get_time();
	 *   this.currentTarget = target;
	 *   this.lastBehaviorChangeTime = fVar15;
	 *   this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,target);
	 *   iVar5 = AdvancedAI_Final.GetViewID(this_00,target);
	 *   pvVar7 = MonoBehaviourPun.get_photonView(this);
	 *   plVar14 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *   puVar1 = PTR_DAT_070c0840;
	 *   iStack_44 = behavior;
	 *   lVar9 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&iStack_44);
	 *   if (plVar14 == null) {
	 * LAB_032f4acc:
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   if ((lVar9 != 0) && (lVar8 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar14 + 0x40)), lVar8 == 0))
	 *   {
	 * LAB_032f4ad4:
	 *     uVar11 = func_0x031fdf58();
	 *     IL2CPP.ThrowManagedException();
	 *   }
	 *   if ((int)plVar14[3] != 0) {
	 *     plVar14[4] = lVar9;
	 *     func_0x031fdc38(plVar14 + 4,lVar9);
	 *     iStack_48 = iVar5;
	 *     lVar9 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),&iStack_48);
	 *     if ((lVar9 != 0) &&
	 *        (lVar8 = func_0x031fde0c(lVar9,*(undefined8 *)(*plVar14 + 0x40)), lVar8 == 0))
	 *     goto LAB_032f4ad4;
	 *     if ((*(uint *)(plVar14 + 3) & 0xfffffffe) != 0) {
	 *       plVar14[5] = lVar9;
	 *       func_0x031fdc38(plVar14 + 5,lVar9);
	 *       if (pvVar7 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar7,*(void **)PTR_DAT_070c0a18,3,plVar14);
	 *         AdvancedAI_Final.BeginBehaviorMaster(this,behavior,target)
	 *         ;
	 *         if (behavior != 4) {
	 *           return;
	 *         }
	 *         if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0)
	 *         {
	 *           func_0x031fde08();
	 *         }
	 *         bVar3 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *         if (!bVar3) {
	 *           return;
	 *         }
	 *         pvVar7 = this.agent;
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         methodInfo_00 = null;
	 *         uVar12 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *         if ((uVar12 & 1) == 0) {
	 *           return;
	 *         }
	 *         pvVar7 = AdvancedAI_Final.TemporaryAcceleration(this,this.agent,this.chaseSpeed);
	 *         UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar7);
	 *         return;
	 *       }
	 *       goto LAB_032f4acc;
	 *     }
	 *   }
	 *   IL2CPP.ThrowIndexOutOfRangeException();
	 */
	// RVA: 0x31F4830 VA: 0x78188DF830
	private void SwitchToBehaviorWithTarget(AdvancedAI_Final.AIState pick, UnityEngine.GameObject target, bool force);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   int iVar3;
	 *   undefined8 uVar4;
	 *   AdvancedAI_Final *this_00;
	 *   void *pvVar5;
	 *   long lVar6;
	 *   long lVar7;
	 *   undefined8 *puVar8;
	 *   undefined8 uVar9;
	 *   undefined8 extraout_x1;
	 *   undefined8 extraout_x1_00;
	 *   void *methodInfo_00;
	 *   ulong uVar10;
	 *   int *piVar11;
	 *   long *plVar12;
	 *   float fVar13;
	 *   int iStack_48;
	 *   int iStack_44;
	 *
	 *   pvVar5 = target;
	 *   if ((bRam000000000754a732 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a18);
	 *     func_0x031fdc8c(PTR_DAT_070c0a20);
	 *     bRam000000000754a732 = 1;
	 *   }
	 *   if ((!force) &&
	 *      (fVar13 = UnityEngine.Time.get_time(),
	 *      fVar13 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown)) {
	 *     if (this.debugLogs == false) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *     uVar9 = 0;
	 *     uVar4 = *(undefined8 *)PTR_DAT_070c0a20;
	 *     if ((bRam000000000755e091 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
	 *       bRam000000000755e091 = 1;
	 *       uVar9 = extraout_x1;
	 *     }
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       uVar9 = extraout_x1_00;
	 *     }
	 *     if (cRam000000000755000b == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar9);
	 *       cRam000000000755000b = '\x01';
	 *     }
	 *     lVar7 = *(long *)puVar1;
	 *     if (*(int *)(lVar7 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar7 = *(long *)puVar1;
	 *     }
	 *     plVar12 = *(long **)(*(long *)(lVar7 + 0xb8) + 8);
	 *     if (plVar12 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     lVar7 = *plVar12;
	 *     uVar10 = (ulong)*(ushort *)(lVar7 + 0x12e);
	 *     if (uVar10 != 0) {
	 *       piVar11 = (int *)(*(long *)(lVar7 + 0xb0) + 8);
	 *       do {
	 *         if (*(long *)(piVar11 + -2) == *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40)
	 *         {
	 *           puVar8 = (undefined8 *)(lVar7 + (long)(*piVar11 + 3) * 0x10 + 0x138);
	 *           goto LAB_069382a8;
	 *         }
	 *         uVar10 = uVar10 - 1;
	 *         piVar11 = piVar11 + 4;
	 *       } while (uVar10 != 0);
	 *     }
	 *     puVar8 = (undefined8 *)
	 *              func_0x03237558(plVar12,*(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3)
	 *     ;
	 * LAB_069382a8:
	 *     (*(code *)*puVar8)(plVar12,3,uVar4,puVar8[1]);
	 *     return;
	 *   }
	 *   puVar1 = PTR_DAT_070c0a10;
	 *   fVar13 = UnityEngine.Time.get_time();
	 *   this.currentTarget = target;
	 *   this.lastBehaviorChangeTime = fVar13;
	 *   this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,target);
	 *   iVar3 = AdvancedAI_Final.GetViewID(this_00,target);
	 *   pvVar5 = MonoBehaviourPun.get_photonView(this);
	 *   plVar12 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *   puVar1 = PTR_DAT_070c0840;
	 *   iStack_44 = pick;
	 *   lVar7 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&iStack_44);
	 *   if (plVar12 == null) {
	 * LAB_032f4acc:
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   if ((lVar7 != 0) && (lVar6 = func_0x031fde0c(lVar7,*(undefined8 *)(*plVar12 + 0x40)), lVar6 == 0))
	 *   {
	 * LAB_032f4ad4:
	 *     uVar9 = func_0x031fdf58();
	 *     IL2CPP.ThrowManagedException();
	 *   }
	 *   if ((int)plVar12[3] != 0) {
	 *     plVar12[4] = lVar7;
	 *     func_0x031fdc38(plVar12 + 4,lVar7);
	 *     iStack_48 = iVar3;
	 *     lVar7 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),&iStack_48);
	 *     if ((lVar7 != 0) &&
	 *        (lVar6 = func_0x031fde0c(lVar7,*(undefined8 *)(*plVar12 + 0x40)), lVar6 == 0))
	 *     goto LAB_032f4ad4;
	 *     if ((*(uint *)(plVar12 + 3) & 0xfffffffe) != 0) {
	 *       plVar12[5] = lVar7;
	 *       func_0x031fdc38(plVar12 + 5,lVar7);
	 *       if (pvVar5 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar5,*(void **)PTR_DAT_070c0a18,3,plVar12);
	 *         AdvancedAI_Final.BeginBehaviorMaster(this,pick,target);
	 *         if (pick != 4) {
	 *           return;
	 *         }
	 *         if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0)
	 *         {
	 *           func_0x031fde08();
	 *         }
	 *         bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *         if (!bVar2) {
	 *           return;
	 *         }
	 *         pvVar5 = this.agent;
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         methodInfo_00 = null;
	 *         uVar10 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *         if ((uVar10 & 1) == 0) {
	 *           return;
	 *         }
	 *         pvVar5 = AdvancedAI_Final.TemporaryAcceleration(this,this.agent,this.chaseSpeed);
	 *         UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar5);
	 *         return;
	 *       }
	 *       goto LAB_032f4acc;
	 *     }
	 *   }
	 *   IL2CPP.ThrowIndexOutOfRangeException();
	 */
	// RVA: 0x31F4C40 VA: 0x78188DFC40
	public void RPC_SetBehaviorState(int newState, int targetViewId);
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   bool bVar3;
	 *   void *this_00;
	 *   ulong uVar4;
	 *   void *pvVar5;
	 *   long lVar6;
	 *
	 *   pvVar5 = (void *)(ulong)(uint)targetViewId;
	 *   if ((bRam000000000754a733 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a733 = 1;
	 *   }
	 *   this.dbgWander = false;
	 *   this.dbgStalk = false;
	 *   this.dbgWatch = false;
	 *   this.dbgRunAround = false;
	 *   this.currentBehavior = newState;
	 *   this.dbgKill = false;
	 *   if (newState < 2) {
	 *     if (newState == 0) {
	 *       this.dbgWander = true;
	 *     }
	 *     else if (newState == 1) {
	 *       this.dbgStalk = true;
	 *     }
	 *   }
	 *   else if (newState == 2) {
	 *     this.dbgWatch = true;
	 *   }
	 *   else if (newState == 3) {
	 *     this.dbgRunAround = true;
	 *   }
	 *   else if (newState == 4) {
	 *     this.dbgKill = true;
	 *   }
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if (0 < targetViewId) {
	 *     this_00 = Photon.Pun.PhotonView.Find(targetViewId);
	 *     lVar6 = *(long *)puVar1;
	 *     if (*(int *)(lVar6 + 0xe4) == 0) {
	 *       func_0x031fde08(lVar6);
	 *     }
	 *     pvVar5 = null;
	 *     uVar4 = UnityEngine.Object.op_Inequality(this_00,null);
	 *     if ((uVar4 & 1) != 0) {
	 *       if (this_00 == null) goto LAB_032f4dd8;
	 *       UnityEngine.Component.get_gameObject(this_00);
	 *     }
	 *   }
	 *   puVar2 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   AdvancedAI_Final.ApplyClientVisuals(this,this.currentBehavior,pvVar5);
	 *   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar3 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (!bVar3) {
	 *     pvVar5 = this.agent;
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *     if ((uVar4 & 1) != 0) {
	 *       pvVar5 = this.agent;
	 *       if (pvVar5 != null) {
	 *         if ((bRam000000000755f745 & 1) == 0) {
	 *           func_0x031fdc8c(PTR_DAT_0714f3a0,0,0);
	 *           bRam000000000755f745 = 1;
	 *         }
	 *         if (pvVar5 != null) {
	 *           lVar6 = *(long *)((long)pvVar5 + 0x10);
	 *           if (lVar6 == 0) {
	 *             UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar5);
	 *           }
	 *           if (pcRam000000000755f750 == null) {
	 *             pcRam000000000755f750 = (code *)func_0x031fdc50(&UNK_0137c3e0);
	 *           }
	 *           (*pcRam000000000755f750)(lVar6,0);
	 *           return;
	 *         }
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 * LAB_032f4dd8:
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x31F4DE8 VA: 0x78188DFDE8
	private void ApplyClientVisuals(AdvancedAI_Final.AIState state, UnityEngine.GameObject target);
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   bool bVar3;
	 *   ulong uVar4;
	 *   void *extraout_x1;
	 *   void *extraout_x1_00;
	 *   void *extraout_x1_01;
	 *   void *extraout_x1_02;
	 *   void *extraout_x1_03;
	 *   void *pvVar5;
	 *   undefined8 uStack_88;
	 *   undefined8 *puStack_80;
	 *   void *pvStack_78;
	 *   undefined8 uStack_70;
	 *   undefined8 *puStack_68;
	 *   void *pvStack_60;
	 *   undefined8 uStack_50;
	 *   undefined8 *puStack_48;
	 *   void *pvStack_40;
	 *
	 *   if ((bRam000000000754a734 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0920);
	 *     func_0x031fdc8c(PTR_DAT_070c0928);
	 *     func_0x031fdc8c(PTR_DAT_070c0930);
	 *     func_0x031fdc8c(PTR_DAT_070c0938);
	 *     func_0x031fdc8c(PTR_DAT_070c0940);
	 *     func_0x031fdc8c(PTR_DAT_070c0948);
	 *     func_0x031fdc8c(PTR_DAT_070c0950);
	 *     func_0x031fdc8c(PTR_DAT_070c0958);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a734 = 1;
	 *   }
	 *   uStack_50 = 0;
	 *   puStack_48 = null;
	 *   pvStack_40 = null;
	 *   uStack_70 = 0;
	 *   puStack_68 = null;
	 *   pvStack_60 = null;
	 *   if (state < 2) {
	 *     if (state == 0) {
	 *       if (this.objectsToDisableDuringStalk == null) goto LAB_032f55cc;
	 *       func_0x03f2e1a8(&uStack_88,this.objectsToDisableDuringStalk,*(undefined8 *)PTR_DAT_070c0950);
	 *       puVar2 = PTR_DAT_070c0938;
	 *       puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *       puStack_48 = puStack_80;
	 *       uStack_50 = uStack_88;
	 *       pvStack_40 = pvStack_78;
	 *       uStack_88 = 0;
	 *       puStack_80 = &uStack_50;
	 *       while (uVar4 = func_0x05018cac(&uStack_50,*(undefined8 *)puVar2), pvVar5 = pvStack_40,
	 *             (uVar4 & 1) != 0) {
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *         if ((uVar4 & 1) != 0) {
	 *           if (pvVar5 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           UnityEngine.GameObject.SetActive(pvVar5,true);
	 *         }
	 *       }
	 *       func_0x05018ca8(&uStack_50,*(undefined8 *)PTR_DAT_070c0920);
	 *       pvVar5 = extraout_x1_01;
	 *       if (this.audioToMuteDuringStalk == null) goto LAB_032f5524;
	 *       func_0x03f2e1a8(&uStack_88,this.audioToMuteDuringStalk,*(undefined8 *)PTR_DAT_070c0958);
	 *       puVar2 = PTR_DAT_070c0930;
	 *       puStack_68 = puStack_80;
	 *       uStack_70 = uStack_88;
	 *       pvStack_60 = pvStack_78;
	 *       uStack_88 = 0;
	 *       puStack_80 = &uStack_70;
	 *       while (uVar4 = func_0x05018cac(&uStack_70,*(undefined8 *)puVar2), pvVar5 = pvStack_60,
	 *             (uVar4 & 1) != 0) {
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *         if ((uVar4 & 1) != 0) {
	 *           if (pvVar5 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           UnityEngine.AudioSource.set_mute(pvVar5,false);
	 *           UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(pvVar5,true);
	 *         }
	 *       }
	 *     }
	 *     else {
	 *       if (state != 1) {
	 *         return;
	 *       }
	 *       if (this.objectsToDisableDuringStalk == null) goto LAB_032f55cc;
	 *       func_0x03f2e1a8(&uStack_88,this.objectsToDisableDuringStalk,*(undefined8 *)PTR_DAT_070c0950);
	 *       puVar2 = PTR_DAT_070c0938;
	 *       puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *       puStack_48 = puStack_80;
	 *       uStack_50 = uStack_88;
	 *       pvStack_40 = pvStack_78;
	 *       uStack_88 = 0;
	 *       puStack_80 = &uStack_50;
	 *       while (uVar4 = func_0x05018cac(&uStack_50,*(undefined8 *)puVar2), pvVar5 = pvStack_40,
	 *             (uVar4 & 1) != 0) {
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *         if ((uVar4 & 1) != 0) {
	 *           if (pvVar5 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           UnityEngine.GameObject.SetActive(pvVar5,false);
	 *         }
	 *       }
	 *       func_0x05018ca8(&uStack_50,*(undefined8 *)PTR_DAT_070c0920);
	 *       pvVar5 = extraout_x1_02;
	 *       if (this.audioToMuteDuringStalk == null) goto LAB_032f5524;
	 *       func_0x03f2e1a8(&uStack_88,this.audioToMuteDuringStalk,*(undefined8 *)PTR_DAT_070c0958);
	 *       puVar2 = PTR_DAT_070c0930;
	 *       puStack_68 = puStack_80;
	 *       uStack_70 = uStack_88;
	 *       pvStack_60 = pvStack_78;
	 *       uStack_88 = 0;
	 *       puStack_80 = &uStack_70;
	 *       while (uVar4 = func_0x05018cac(&uStack_70,*(undefined8 *)puVar2), pvVar5 = pvStack_60,
	 *             (uVar4 & 1) != 0) {
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *         if ((uVar4 & 1) != 0) {
	 *           if (pvVar5 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           UnityEngine.AudioSource.set_mute(pvVar5,true);
	 *           UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(pvVar5,false);
	 *         }
	 *       }
	 *     }
	 *   }
	 *   else if (state == 2) {
	 *     if (this.objectsToDisableDuringStalk == null) goto LAB_032f55cc;
	 *     func_0x03f2e1a8(&uStack_88,this.objectsToDisableDuringStalk,*(undefined8 *)PTR_DAT_070c0950);
	 *     puVar2 = PTR_DAT_070c0938;
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     puStack_48 = puStack_80;
	 *     uStack_50 = uStack_88;
	 *     pvStack_40 = pvStack_78;
	 *     uStack_88 = 0;
	 *     puStack_80 = &uStack_50;
	 *     while (uVar4 = func_0x05018cac(&uStack_50,*(undefined8 *)puVar2), pvVar5 = pvStack_40,
	 *           (uVar4 & 1) != 0) {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *       if ((uVar4 & 1) != 0) {
	 *         if (pvVar5 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         UnityEngine.GameObject.SetActive(pvVar5,true);
	 *       }
	 *     }
	 *     func_0x05018ca8(&uStack_50,*(undefined8 *)PTR_DAT_070c0920);
	 *     pvVar5 = extraout_x1;
	 *     if (this.audioToMuteDuringStalk == null) goto LAB_032f5524;
	 *     func_0x03f2e1a8(&uStack_88,this.audioToMuteDuringStalk,*(undefined8 *)PTR_DAT_070c0958);
	 *     puVar2 = PTR_DAT_070c0930;
	 *     puStack_68 = puStack_80;
	 *     uStack_70 = uStack_88;
	 *     pvStack_60 = pvStack_78;
	 *     uStack_88 = 0;
	 *     puStack_80 = &uStack_70;
	 *     while (uVar4 = func_0x05018cac(&uStack_70,*(undefined8 *)puVar2), pvVar5 = pvStack_60,
	 *           (uVar4 & 1) != 0) {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *       if ((uVar4 & 1) != 0) {
	 *         if (pvVar5 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         UnityEngine.AudioSource.set_mute(pvVar5,false);
	 *         UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(pvVar5,true);
	 *       }
	 *     }
	 *   }
	 *   else {
	 *     if (state != 3) {
	 *       if (state != 4) {
	 *         return;
	 *       }
	 *       if (this.objectsToDisableDuringStalk != null) {
	 *         func_0x03f2e1a8(&uStack_88,this.objectsToDisableDuringStalk,*(undefined8 *)PTR_DAT_070c0950
	 *                        );
	 *         puVar2 = PTR_DAT_070c0938;
	 *         puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *         puStack_48 = puStack_80;
	 *         uStack_50 = uStack_88;
	 *         pvStack_40 = pvStack_78;
	 *         uStack_88 = 0;
	 *         puStack_80 = &uStack_50;
	 *         while (uVar4 = func_0x05018cac(&uStack_50,*(undefined8 *)puVar2), pvVar5 = pvStack_40,
	 *               (uVar4 & 1) != 0) {
	 *           if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *           if ((uVar4 & 1) != 0) {
	 *             if (pvVar5 == null) {
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *             UnityEngine.GameObject.SetActive(pvVar5,true);
	 *           }
	 *         }
	 *         func_0x05018ca8(&uStack_50,*(undefined8 *)PTR_DAT_070c0920);
	 *         if (this.audioToMuteDuringStalk != null) {
	 *           func_0x03f2e1a8(&uStack_88,this.audioToMuteDuringStalk,*(undefined8 *)PTR_DAT_070c0958);
	 *           puVar2 = PTR_DAT_070c0930;
	 *           puStack_68 = puStack_80;
	 *           uStack_70 = uStack_88;
	 *           pvStack_60 = pvStack_78;
	 *           uStack_88 = 0;
	 *           puStack_80 = &uStack_70;
	 *           while (uVar4 = func_0x05018cac(&uStack_70,*(undefined8 *)puVar2), pvVar5 = pvStack_60,
	 *                 (uVar4 & 1) != 0) {
	 *             if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *             if ((uVar4 & 1) != 0) {
	 *               if (pvVar5 == null) {
	 *                 IL2CPP.ThrowNullReferenceException();
	 *               }
	 *               UnityEngine.AudioSource.set_mute(pvVar5,false);
	 *               UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(pvVar5,true);
	 *             }
	 *           }
	 *           func_0x05018ca8(&uStack_70,*(undefined8 *)PTR_DAT_070c0928);
	 *         }
	 *         pvVar5 = this.chaseAudio;
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *         if ((uVar4 & 1) == 0) {
	 *           return;
	 *         }
	 *         if (this.chaseAudio != null) {
	 *           bVar3 = UnityEngine.AudioSource.get_isPlaying(this.chaseAudio);
	 *           if (bVar3) {
	 *             return;
	 *           }
	 *           if (this.chaseAudio != null) {
	 *             UnityEngine.AudioSource.Play(this.chaseAudio);
	 *             return;
	 *           }
	 *         }
	 *       }
	 * LAB_032f55cc:
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     if (this.objectsToDisableDuringStalk == null) goto LAB_032f55cc;
	 *     func_0x03f2e1a8(&uStack_88,this.objectsToDisableDuringStalk,*(undefined8 *)PTR_DAT_070c0950);
	 *     puVar2 = PTR_DAT_070c0938;
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     puStack_48 = puStack_80;
	 *     uStack_50 = uStack_88;
	 *     pvStack_40 = pvStack_78;
	 *     uStack_88 = 0;
	 *     puStack_80 = &uStack_50;
	 *     while (uVar4 = func_0x05018cac(&uStack_50,*(undefined8 *)puVar2), pvVar5 = pvStack_40,
	 *           (uVar4 & 1) != 0) {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *       if ((uVar4 & 1) != 0) {
	 *         if (pvVar5 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         UnityEngine.GameObject.SetActive(pvVar5,true);
	 *       }
	 *     }
	 *     func_0x05018ca8(&uStack_50,*(undefined8 *)PTR_DAT_070c0920);
	 *     pvVar5 = extraout_x1_00;
	 *     if (this.audioToMuteDuringStalk == null) goto LAB_032f5524;
	 *     func_0x03f2e1a8(&uStack_88,this.audioToMuteDuringStalk,*(undefined8 *)PTR_DAT_070c0958);
	 *     puVar2 = PTR_DAT_070c0930;
	 *     puStack_68 = puStack_80;
	 *     uStack_70 = uStack_88;
	 *     pvStack_60 = pvStack_78;
	 *     uStack_88 = 0;
	 *     puStack_80 = &uStack_70;
	 *     while (uVar4 = func_0x05018cac(&uStack_70,*(undefined8 *)puVar2), pvVar5 = pvStack_60,
	 *           (uVar4 & 1) != 0) {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar4 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *       if ((uVar4 & 1) != 0) {
	 *         if (pvVar5 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         UnityEngine.AudioSource.set_mute(pvVar5,false);
	 *         UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(pvVar5,true);
	 *       }
	 *     }
	 *   }
	 *   func_0x05018ca8(&uStack_70,*(undefined8 *)PTR_DAT_070c0928);
	 *   pvVar5 = extraout_x1_03;
	 * LAB_032f5524:
	 *   AdvancedAI_Final.StopChaseAudio(this);
	 *   return;
	 */
	// RVA: 0x31F3C40 VA: 0x78188DEC40
	private void BeginBehaviorMaster(AdvancedAI_Final.AIState behavior, UnityEngine.GameObject target);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *inner;
	 *   void *pvVar3;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void **ppvVar4;
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   pvVar3 = target;
	 *   if ((bRam000000000754a735 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a735 = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (!bVar2) {
	 *     return;
	 *   }
	 *   AdvancedAI_Final.StopBehaviorRoutineImmediate(this);
	 *   if (behavior < 2) {
	 *     if (behavior == 0) {
	 *       inner = AdvancedAI_Final.WanderCoroutine(this);
	 *     }
	 *     else {
	 *       if (behavior != 1) {
	 *         return;
	 *       }
	 *       inner = AdvancedAI_Final.StalkCoroutine(this,target);
	 *     }
	 *   }
	 *   else if (behavior == 2) {
	 *     inner = AdvancedAI_Final.WatchCoroutine(this,target);
	 *   }
	 *   else if (behavior == 3) {
	 *     inner = AdvancedAI_Final.RunAroundCoroutine(this,target);
	 *   }
	 *   else {
	 *     if (behavior != 4) {
	 *       return;
	 *     }
	 *     inner = AdvancedAI_Final.StraightKillCoroutine(this,target);
	 *   }
	 *   pvVar3 = AdvancedAI_Final.WrapWithFailsafe(this,inner,90.0);
	 *   pvVar3 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar3);
	 *   ppvVar4 = &this.behaviorRoutine;
	 *   *ppvVar4 = pvVar3;
	 *   if (iRam00000000077785f0 != 0) {
	 *     func_0x032ed0c0(1L << ((ulong)ppvVar4 >> 0xc & 0x3f),
	 *                     ((ulong)ppvVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *   }
	 *   return;
	 */
	// RVA: 0x31F4DDC VA: 0x78188DFDDC
	private void ResetDebugFlags();
	/*
	 *   this.dbgKill = false;
	 *   this.dbgWander = false;
	 *   this.dbgStalk = false;
	 *   this.dbgWatch = false;
	 *   this.dbgRunAround = false;
	 *   return;
	 */
	// RVA: 0x31F3A84 VA: 0x78188DEA84
	private void StopBehaviorRoutineImmediate();
	/*
	 *   void **ppvVar1;
	 *
	 *   ppvVar1 = &this.behaviorRoutine;
	 *   if (*ppvVar1 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,*ppvVar1);
	 *     *ppvVar1 = null;
	 *     if (iRam00000000077785f0 != 0) {
	 *       func_0x032ed0c0(1L << ((ulong)ppvVar1 >> 0xc & 0x3f),
	 *                       ((ulong)ppvVar1 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *     }
	 *     return;
	 *   }
	 *   return;
	 */
	// RVA: 0x31F59D8 VA: 0x78188E09D8
	private System.Collections.IEnumerator WanderCoroutine();
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *   void *extraout_x1;
	 *
	 *   puVar1 = PTR_DAT_070c0a38;
	 *   if ((bRam000000000754a736 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a38);
	 *     bRam000000000754a736 = 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: 0x31F5D24 VA: 0x78188E0D24
	private UnityEngine.Vector3 GetNextWanderPoint();
	/*
	 *   uint uVar1;
	 *   long lVar2;
	 *   void *pvVar3;
	 *   int iVar4;
	 *   float fVar5;
	 *   float fVar6;
	 *   float fVar7;
	 *   UnityEngine_Vector3 UVar8;
	 *   UnityEngine_Vector3 UVar9;
	 *
	 *   if ((this.wanderPoints == null) ||
	 *      (lVar2 = *(long *)((long)this.wanderPoints + 0x18), lVar2 == 0)) {
	 *     pvVar3 = UnityEngine.Component.get_transform(this);
	 *     if (pvVar3 != null) {
	 *       UVar9 = UnityEngine.Transform.get_position(pvVar3);
	 *       UVar8 = Random.get_insideUnitSphere();
	 *       pvVar3 = UnityEngine.Component.get_transform(this);
	 *       if (pvVar3 != null) {
	 *         fVar6 = UVar9.z + UVar8.z * 3.0;
	 *         fVar7 = UVar9.x + UVar8.x * 3.0;
	 *         UVar9 = UnityEngine.Transform.get_position(pvVar3);
	 *         fVar5 = UVar9.y;
	 *         goto LAB_032f5e48;
	 *       }
	 *     }
	 *   }
	 *   else {
	 *     uVar1 = Random.Range(0,(int)lVar2);
	 *     pvVar3 = this.wanderPoints;
	 *     if (pvVar3 != null) {
	 *       if ((*(int *)((long)pvVar3 + 0x18) < 2) || (uVar1 != this.lastWanderIndex)) {
	 *         this.lastWanderIndex = uVar1;
	 *       }
	 *       else {
	 *         pvVar3 = this.wanderPoints;
	 *         iVar4 = 6;
	 *         do {
	 *           if (pvVar3 == null) goto LAB_032f5e64;
	 *           uVar1 = Random.Range(0,*(int *)((long)pvVar3 + 0x18));
	 *           if (uVar1 != this.lastWanderIndex) {
	 *             pvVar3 = this.wanderPoints;
	 *             break;
	 *           }
	 *           pvVar3 = this.wanderPoints;
	 *           iVar4 = iVar4 + -1;
	 *         } while (iVar4 != 0);
	 *         this.lastWanderIndex = uVar1;
	 *         if (pvVar3 == null) goto LAB_032f5e64;
	 *       }
	 *       if (*(uint *)((long)pvVar3 + 0x18) <= uVar1) {
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *       pvVar3 = *(void **)((long)pvVar3 + (long)(int)uVar1 * 8 + 0x20);
	 *       if (pvVar3 != null) {
	 *         UVar9 = UnityEngine.Transform.get_position(pvVar3);
	 *         fVar6 = UVar9.z;
	 *         fVar5 = UVar9.y;
	 *         fVar7 = UVar9.x;
	 * LAB_032f5e48:
	 *         UVar9.y = fVar5;
	 *         UVar9.x = fVar7;
	 *         UVar9.z = fVar6;
	 *         return UVar9;
	 *       }
	 *     }
	 *   }
	 * LAB_032f5e64:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F5ADC VA: 0x78188E0ADC
	private System.Collections.IEnumerator StalkCoroutine(UnityEngine.GameObject target);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *
	 *   puVar1 = PTR_DAT_070c0a48;
	 *   if ((bRam000000000754a737 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a48);
	 *     bRam000000000754a737 = 1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   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);
	 *   *(undefined8 *)((long)this_00 + 0x28) = target;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x28),target);
	 *   return this_00;
	 */
	// RVA: 0x31F5B64 VA: 0x78188E0B64
	private System.Collections.IEnumerator WatchCoroutine(UnityEngine.GameObject ignoredTarget);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *
	 *   puVar1 = PTR_DAT_070c0a50;
	 *   if ((bRam000000000754a738 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a50);
	 *     bRam000000000754a738 = 1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   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);
	 *   *(undefined8 *)((long)this_00 + 0x28) = ignoredTarget;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x28),ignoredTarget);
	 *   return this_00;
	 */
	// RVA: 0x31F5BEC VA: 0x78188E0BEC
	private System.Collections.IEnumerator RunAroundCoroutine(UnityEngine.GameObject target);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *
	 *   puVar1 = PTR_DAT_070c0a58;
	 *   if ((bRam000000000754a739 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a58);
	 *     bRam000000000754a739 = 1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   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);
	 *   *(undefined8 *)((long)this_00 + 0x28) = target;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x28),target);
	 *   return this_00;
	 */
	// RVA: 0x31F5C74 VA: 0x78188E0C74
	private System.Collections.IEnumerator StraightKillCoroutine(UnityEngine.GameObject target);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *
	 *   puVar1 = PTR_DAT_070c0a60;
	 *   if ((bRam000000000754a73a & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a60);
	 *     bRam000000000754a73a = 1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   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);
	 *   *(undefined8 *)((long)this_00 + 0x28) = target;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x28),target);
	 *   return this_00;
	 */
	// RVA: 0x31F5940 VA: 0x78188E0940
	private void StopChaseAudio();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   ulong uVar3;
	 *   void *extraout_x1;
	 *   void *pvVar4;
	 *   long lVar5;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a73b & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a73b = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   pvVar4 = this.chaseAudio;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   uVar3 = UnityEngine.Object.op_Inequality(pvVar4,null);
	 *   if ((uVar3 & 1) == 0) {
	 *     return;
	 *   }
	 *   if (this.chaseAudio != null) {
	 *     bVar2 = UnityEngine.AudioSource.get_isPlaying(this.chaseAudio);
	 *     if (!bVar2) {
	 *       return;
	 *     }
	 *     pvVar4 = this.chaseAudio;
	 *     if (pvVar4 != null) {
	 *       if ((bRam000000000755d744 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714e1b0);
	 *         bRam000000000755d744 = 1;
	 *       }
	 *       if (pvVar4 == null) {
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *       lVar5 = *(long *)((long)pvVar4 + 0x10);
	 *       if (lVar5 == 0) {
	 *         UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar4)
	 *         ;
	 *       }
	 *       if (pcRam000000000755d780 == null) {
	 *         pcRam000000000755d780 = (code *)func_0x031fdc50(&UNK_0138d05d);
	 *       }
	 *       (*pcRam000000000755d780)(lVar5,1);
	 *       return;
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F5F0C VA: 0x78188E0F0C
	private void SetDestination(UnityEngine.Vector3 dest);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   ulong uVar3;
	 *   void *extraout_x1;
	 *   void *pvVar4;
	 *   float fVar5;
	 *   float fVar6;
	 *   float fVar7;
	 *   float fVar8;
	 *   float fVar9;
	 *   float fVar10;
	 *   UnityEngine_Vector3 UVar11;
	 *   undefined8 uStack_80;
	 *   undefined8 uStack_78;
	 *   undefined8 uStack_70;
	 *   undefined8 uStack_68;
	 *   undefined4 uStack_60;
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   fVar9 = dest.z;
	 *   fVar7 = dest.y;
	 *   fVar5 = dest.x;
	 *   if ((bRam000000000754a73c & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a73c = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   uStack_60 = 0;
	 *   uStack_78 = 0;
	 *   uStack_80 = 0;
	 *   uStack_68 = 0;
	 *   uStack_70 = 0;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if ((bVar2) &&
	 *      (fVar6 = UnityEngine.Time.get_time(),
	 *      this.minDestinationChangeInterval <= fVar6 - this.lastDestinationTime)) {
	 *     fVar6 = UnityEngine.Time.get_time();
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     pvVar4 = this.agent;
	 *     this.lastDestinationTime = fVar6;
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     uVar3 = UnityEngine.Object.op_Equality(pvVar4,null);
	 *     if ((uVar3 & 1) == 0) {
	 *       if (this.agent == null) {
	 * LAB_032f6114:
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *       bVar2 = UnityEngine.AI.NavMeshAgent.get_pathPending(this.agent);
	 *       if (!bVar2) {
	 *         if (this.agent == null) goto LAB_032f6114;
	 *         bVar2 = UnityEngine.AI.NavMeshAgent.get_hasPath(this.agent);
	 *         if (bVar2) {
	 *           if (this.agent == null) goto LAB_032f6114;
	 *           UVar11 = UnityEngine.AI.NavMeshAgent.get_destination(this.agent);
	 *           if (cRam000000000754a7c9 == '\0') {
	 *             func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *             cRam000000000754a7c9 = '\x01';
	 *           }
	 *           if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Math_6FC0738 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           fVar6 = UVar11.y - fVar7;
	 *           fVar8 = UVar11.x - fVar5;
	 *           fVar10 = UVar11.z - fVar9;
	 *           if (1.0 < SQRT(fVar10 * fVar10 + fVar8 * fVar8 + fVar6 * fVar6)) {
	 *             if (this.agent == null) goto LAB_032f6114;
	 *             UnityEngine.AI.NavMeshAgent.ResetPath(this.agent);
	 *           }
	 *         }
	 *       }
	 *       uVar3 = NavMesh.SamplePosition(fVar5,fVar7,fVar9,0x40800000,&uStack_80,0xffffffff,0);
	 *       pvVar4 = this.agent;
	 *       if ((uVar3 & 1) == 0) {
	 *         if (pvVar4 == null) goto LAB_032f6114;
	 *       }
	 *       else {
	 *         if (pvVar4 == null) goto LAB_032f6114;
	 *         fVar9 = (float)uStack_78;
	 *         fVar7 = uStack_80._4_4_;
	 *         fVar5 = (float)uStack_80;
	 *       }
	 *       UVar11.y = fVar7;
	 *       UVar11.x = fVar5;
	 *       UVar11.z = fVar9;
	 *       UnityEngine.AI.NavMeshAgent.SetDestination(pvVar4,UVar11);
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x31F6118 VA: 0x78188E1118
	private void ChainOrWander(UnityEngine.GameObject target);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   uint uVar3;
	 *   undefined8 uVar4;
	 *   AdvancedAI_Final *this_00;
	 *   long lVar5;
	 *   ulong uVar6;
	 *   void *pvVar7;
	 *   undefined8 *puVar8;
	 *   undefined8 uVar9;
	 *   undefined8 extraout_x1;
	 *   undefined8 extraout_x1_00;
	 *   void *methodInfo_00;
	 *   void *in_x4;
	 *   int behavior;
	 *   int *piVar10;
	 *   long lVar11;
	 *   long *plVar12;
	 *   float fVar13;
	 *   float fVar14;
	 *   float fVar15;
	 *   UnityEngine_Vector3 UVar16;
	 *   UnityEngine_Vector3 UVar17;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a73d & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a73d = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   uVar6 = UnityEngine.Object.op_Inequality(target,null);
	 *   if ((uVar6 & 1) != 0) {
	 *     pvVar7 = UnityEngine.Component.get_transform(this);
	 *     if (pvVar7 == null) goto LAB_032f62f8;
	 *     UVar16 = UnityEngine.Transform.get_position(pvVar7);
	 *     if ((target == null) ||
	 *        (pvVar7 = UnityEngine.GameObject.get_transform(target),
	 *        pvVar7 == null)) goto LAB_032f62f8;
	 *     UVar17 = UnityEngine.Transform.get_position(pvVar7);
	 *     if (cRam000000000754a7c9 == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *       cRam000000000754a7c9 = '\x01';
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Math_6FC0738 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     fVar13 = UVar16.y - UVar17.y;
	 *     fVar14 = UVar16.x - UVar17.x;
	 *     fVar15 = UVar16.z - UVar17.z;
	 *     if (SQRT(fVar15 * fVar15 + fVar14 * fVar14 + fVar13 * fVar13) <= this.alertRadius) {
	 *       this.currentTarget = target;
	 *       func_0x031fdc38(&this.currentTarget);
	 *       uVar3 = Random.Range(0,100);
	 *       if ((int)uVar3 < 0x1e) {
	 *         behavior = 1;
	 *       }
	 *       else if (uVar3 < 0x37) {
	 *         behavior = 2;
	 *       }
	 *       else {
	 *         behavior = 3;
	 *         if (0x54 < uVar3) {
	 *           behavior = 4;
	 *         }
	 *       }
	 *       pvVar7 = target;
	 *       if ((bRam000000000754a732 & 1) == 0) {
	 *         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *         func_0x031fdc8c(PTR_DAT_070c0a10);
	 *         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *         func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *         func_0x031fdc8c(PTR_DAT_070c0a18);
	 *         func_0x031fdc8c(PTR_DAT_070c0a20);
	 *         bRam000000000754a732 = 1;
	 *       }
	 *       fVar13 = UnityEngine.Time.get_time();
	 *       puVar1 = PTR_DAT_070c0a10;
	 *       if (fVar13 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown) {
	 *         if (this.debugLogs == false) {
	 *           return;
	 *         }
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *         uVar9 = 0;
	 *         uVar4 = *(undefined8 *)PTR_DAT_070c0a20;
	 *         if ((bRam000000000755e091 & 1) == 0) {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
	 *           bRam000000000755e091 = 1;
	 *           uVar9 = extraout_x1;
	 *         }
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *           uVar9 = extraout_x1_00;
	 *         }
	 *         if (cRam000000000755000b == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar9);
	 *           cRam000000000755000b = '\x01';
	 *         }
	 *         lVar11 = *(long *)puVar1;
	 *         if (*(int *)(lVar11 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *           lVar11 = *(long *)puVar1;
	 *         }
	 *         plVar12 = *(long **)(*(long *)(lVar11 + 0xb8) + 8);
	 *         if (plVar12 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         lVar11 = *plVar12;
	 *         uVar6 = (ulong)*(ushort *)(lVar11 + 0x12e);
	 *         if (uVar6 != 0) {
	 *           piVar10 = (int *)(*(long *)(lVar11 + 0xb0) + 8);
	 *           do {
	 *             if (*(long *)(piVar10 + -2) ==
	 *                 *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40) {
	 *               puVar8 = (undefined8 *)(lVar11 + (long)(*piVar10 + 3) * 0x10 + 0x138);
	 *               goto LAB_069382a8;
	 *             }
	 *             uVar6 = uVar6 - 1;
	 *             piVar10 = piVar10 + 4;
	 *           } while (uVar6 != 0);
	 *         }
	 *         puVar8 = (undefined8 *)
	 *                  func_0x03237558(plVar12,*(long *)
	 *                                           typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3);
	 * LAB_069382a8:
	 *         (*(code *)*puVar8)(plVar12,3,uVar4,puVar8[1]);
	 *         return;
	 *       }
	 *       fVar13 = UnityEngine.Time.get_time();
	 *       this.currentTarget = target;
	 *       this.lastBehaviorChangeTime = fVar13;
	 *       this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,target);
	 *       AdvancedAI_Final.GetViewID(this_00,target);
	 *       pvVar7 = MonoBehaviourPun.get_photonView(this);
	 *       plVar12 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *       puVar1 = PTR_DAT_070c0840;
	 *       lVar11 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&stack0xffffffffffffffbc);
	 *       if (plVar12 == null) {
	 * LAB_032f4acc:
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *       if ((lVar11 != 0) &&
	 *          (lVar5 = func_0x031fde0c(lVar11,*(undefined8 *)(*plVar12 + 0x40)), lVar5 == 0)) {
	 * LAB_032f4ad4:
	 *         uVar9 = func_0x031fdf58();
	 *         IL2CPP.ThrowManagedException();
	 *       }
	 *       if ((int)plVar12[3] != 0) {
	 *         plVar12[4] = lVar11;
	 *         func_0x031fdc38(plVar12 + 4,lVar11);
	 *         lVar11 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),&stack0xffffffffffffffb8);
	 *         if ((lVar11 != 0) &&
	 *            (lVar5 = func_0x031fde0c(lVar11,*(undefined8 *)(*plVar12 + 0x40)), lVar5 == 0))
	 *         goto LAB_032f4ad4;
	 *         if ((*(uint *)(plVar12 + 3) & 0xfffffffe) != 0) {
	 *           plVar12[5] = lVar11;
	 *           func_0x031fdc38(plVar12 + 5,lVar11);
	 *           if (pvVar7 != null) {
	 *             Photon.Pun.PhotonView.RPC(pvVar7,*(void **)PTR_DAT_070c0a18,3,plVar12);
	 *             AdvancedAI_Final.BeginBehaviorMaster(this,behavior,target);
	 *             if (behavior != 4) {
	 *               return;
	 *             }
	 *             if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4)
	 *                 == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *             if (!bVar2) {
	 *               return;
	 *             }
	 *             pvVar7 = this.agent;
	 *             if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             methodInfo_00 = null;
	 *             uVar6 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *             if ((uVar6 & 1) == 0) {
	 *               return;
	 *             }
	 *             pvVar7 = AdvancedAI_Final.TemporaryAcceleration(this,this.agent,this.chaseSpeed);
	 *             UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar7);
	 *             return;
	 *           }
	 *           goto LAB_032f4acc;
	 *         }
	 *       }
	 *       IL2CPP.ThrowIndexOutOfRangeException();
	 *     }
	 *   }
	 *   this.currentTarget = null;
	 *   func_0x031fdc38(&this.currentTarget,0);
	 *   AdvancedAI_Final.SwitchToBehaviorWithTarget(this,0,null,false);
	 *   pvVar7 = this.agent;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   uVar6 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *   if ((uVar6 & 1) == 0) {
	 *     return;
	 *   }
	 *   pvVar7 = this.agent;
	 *   if (pvVar7 != null) {
	 *     if ((bRam000000000755cc3f & 1) == 0) {
	 *       func_0x031fdc8c(PTR_DAT_0714d7a8,0);
	 *       bRam000000000755cc3f = 1;
	 *     }
	 *     if (pvVar7 != null) {
	 *       lVar11 = *(long *)((long)pvVar7 + 0x10);
	 *       if (lVar11 == 0) {
	 *         UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar7)
	 *         ;
	 *       }
	 *       if (pcRam000000000755ccc0 == null) {
	 *         pcRam000000000755ccc0 = (code *)func_0x031fdc50(&UNK_0135d3a4);
	 *       }
	 *       (*pcRam000000000755ccc0)(0x43480000,lVar11);
	 *       return;
	 *     }
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 * LAB_032f62f8:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F62FC VA: 0x78188E12FC
	private System.Collections.IEnumerator MoveToFarPointCoroutine();
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *   void *extraout_x1;
	 *
	 *   puVar1 = PTR_DAT_070c0a68;
	 *   if ((bRam000000000754a73e & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a68);
	 *     bRam000000000754a73e = 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: 0x31F6390 VA: 0x78188E1390
	private void StopBehaviorUpdates();
	/*
	 *   this.allowBehaviorUpdate = false;
	 *   return;
	 */
	// RVA: 0x31F6398 VA: 0x78188E1398
	private void ResumeBehaviorUpdates();
	/*
	 *   this.allowBehaviorUpdate = true;
	 *   return;
	 */
	// RVA: 0x31F63A4 VA: 0x78188E13A4
	private void StartExclusiveCoroutine(System.Collections.IEnumerator c);
	/*
	 *   void *pvVar1;
	 *   void **ppvVar2;
	 *
	 *   ppvVar2 = &this.activeCoroutine;
	 *   if (*ppvVar2 != null) {
	 *     return;
	 *   }
	 *   pvVar1 = AdvancedAI_Final.WrapWithFailsafe(this,c,90.0);
	 *   pvVar1 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar1);
	 *   this.activeCoroutine = pvVar1;
	 *   if (iRam00000000077785f0 != 0) {
	 *     func_0x032ed0c0(1L << ((ulong)ppvVar2 >> 0xc & 0x3f),
	 *                     ((ulong)ppvVar2 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *   }
	 *   return;
	 */
	// RVA: 0x31F40D4 VA: 0x78188DF0D4
	private void StopExclusiveCoroutine();
	/*
	 *   void **ppvVar1;
	 *
	 *   ppvVar1 = &this.activeCoroutine;
	 *   if (*ppvVar1 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,*ppvVar1);
	 *     *ppvVar1 = null;
	 *     if (iRam00000000077785f0 != 0) {
	 *       func_0x032ed0c0(1L << ((ulong)ppvVar1 >> 0xc & 0x3f),
	 *                       ((ulong)ppvVar1 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *     }
	 *     return;
	 *   }
	 *   return;
	 */
	// RVA: 0x31F63FC VA: 0x78188E13FC
	private void ForceIdleFromMaster(string reason);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   int iVar3;
	 *   undefined8 uVar4;
	 *   AdvancedAI_Final *this_00;
	 *   long lVar5;
	 *   void *pvVar6;
	 *   long lVar7;
	 *   undefined8 *puVar8;
	 *   undefined8 uVar9;
	 *   void *extraout_x1;
	 *   void *extraout_x1_00;
	 *   void *methodInfo_00;
	 *   undefined8 extraout_x1_01;
	 *   undefined8 extraout_x1_02;
	 *   ulong uVar10;
	 *   int *piVar11;
	 *   long *plVar12;
	 *   float fVar13;
	 *   int aiStack_48 [2];
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a73f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a70);
	 *     bRam000000000754a73f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (!bVar2) {
	 *     return;
	 *   }
	 *   bVar2 = System.String.IsNullOrEmpty(reason);
	 *   pvVar6 = extraout_x1;
	 *   if ((!bVar2) && (this.debugLogs != false)) {
	 *     pvVar6 = System.String.Concat(*(void **)PTR_DAT_070c0a70,reason);
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     }
	 *     UnityEngine.Debug.LogWarning(pvVar6);
	 *     pvVar6 = extraout_x1_00;
	 *   }
	 *   AdvancedAI_Final.StopExclusiveCoroutine(this);
	 *   AdvancedAI_Final.StopBehaviorRoutineImmediate(this);
	 *   pvVar6 = null;
	 *   if ((bRam000000000754a732 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a18);
	 *     func_0x031fdc8c(PTR_DAT_070c0a20);
	 *     bRam000000000754a732 = 1;
	 *   }
	 *   fVar13 = UnityEngine.Time.get_time();
	 *   puVar1 = PTR_DAT_070c0a10;
	 *   if (fVar13 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown) {
	 *     if (this.debugLogs == false) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *     uVar9 = 0;
	 *     uVar4 = *(undefined8 *)PTR_DAT_070c0a20;
	 *     if ((bRam000000000755e091 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
	 *       bRam000000000755e091 = 1;
	 *       uVar9 = extraout_x1_01;
	 *     }
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       uVar9 = extraout_x1_02;
	 *     }
	 *     if (cRam000000000755000b == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar9);
	 *       cRam000000000755000b = '\x01';
	 *     }
	 *     lVar7 = *(long *)puVar1;
	 *     if (*(int *)(lVar7 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar7 = *(long *)puVar1;
	 *     }
	 *     plVar12 = *(long **)(*(long *)(lVar7 + 0xb8) + 8);
	 *     if (plVar12 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     lVar7 = *plVar12;
	 *     uVar10 = (ulong)*(ushort *)(lVar7 + 0x12e);
	 *     if (uVar10 != 0) {
	 *       piVar11 = (int *)(*(long *)(lVar7 + 0xb0) + 8);
	 *       do {
	 *         if (*(long *)(piVar11 + -2) == *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40)
	 *         {
	 *           puVar8 = (undefined8 *)(lVar7 + (long)(*piVar11 + 3) * 0x10 + 0x138);
	 *           goto LAB_069382a8;
	 *         }
	 *         uVar10 = uVar10 - 1;
	 *         piVar11 = piVar11 + 4;
	 *       } while (uVar10 != 0);
	 *     }
	 *     puVar8 = (undefined8 *)
	 *              func_0x03237558(plVar12,*(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3)
	 *     ;
	 * LAB_069382a8:
	 *     (*(code *)*puVar8)(plVar12,3,uVar4,puVar8[1]);
	 *     return;
	 *   }
	 *   fVar13 = UnityEngine.Time.get_time();
	 *   this.currentTarget = null;
	 *   this.lastBehaviorChangeTime = fVar13;
	 *   this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,0);
	 *   iVar3 = AdvancedAI_Final.GetViewID(this_00,null);
	 *   pvVar6 = MonoBehaviourPun.get_photonView(this);
	 *   plVar12 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *   puVar1 = PTR_DAT_070c0840;
	 *   aiStack_48[1] = 0;
	 *   lVar7 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),aiStack_48 + 1);
	 *   if (plVar12 == null) {
	 * LAB_032f4acc:
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   if ((lVar7 != 0) && (lVar5 = func_0x031fde0c(lVar7,*(undefined8 *)(*plVar12 + 0x40)), lVar5 == 0))
	 *   {
	 * LAB_032f4ad4:
	 *     uVar9 = func_0x031fdf58();
	 *     IL2CPP.ThrowManagedException();
	 *   }
	 *   if ((int)plVar12[3] != 0) {
	 *     plVar12[4] = lVar7;
	 *     func_0x031fdc38(plVar12 + 4,lVar7);
	 *     aiStack_48[0] = iVar3;
	 *     lVar7 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),aiStack_48);
	 *     if ((lVar7 != 0) &&
	 *        (lVar5 = func_0x031fde0c(lVar7,*(undefined8 *)(*plVar12 + 0x40)), lVar5 == 0))
	 *     goto LAB_032f4ad4;
	 *     if ((*(uint *)(plVar12 + 3) & 0xfffffffe) != 0) {
	 *       plVar12[5] = lVar7;
	 *       func_0x031fdc38(plVar12 + 5,lVar7);
	 *       if (pvVar6 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar6,*(void **)PTR_DAT_070c0a18,3,plVar12);
	 *         AdvancedAI_Final.BeginBehaviorMaster(this,0,null);
	 *         return;
	 *       }
	 *       goto LAB_032f4acc;
	 *     }
	 *   }
	 *   IL2CPP.ThrowIndexOutOfRangeException();
	 */
	// RVA: 0x31F5A44 VA: 0x78188E0A44
	private System.Collections.IEnumerator WrapWithFailsafe(System.Collections.IEnumerator inner, float timeout);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *
	 *   puVar1 = PTR_DAT_070c0a40;
	 *   if ((bRam000000000754a740 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a40);
	 *     bRam000000000754a740 = 1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   System.Object..ctor(this_00);
	 *   *(undefined4 *)((long)this_00 + 0x10) = 0;
	 *   *(undefined8 *)((long)this_00 + 0x28) = this;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x28),this);
	 *   *(undefined8 *)((long)this_00 + 0x30) = inner;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x30),inner);
	 *   *(float *)((long)this_00 + 0x20) = timeout;
	 *   return this_00;
	 */
	// RVA: 0x31F4BA8 VA: 0x78188DFBA8
	private System.Collections.IEnumerator TemporaryAcceleration(UnityEngine.AI.NavMeshAgent a, float targetSpeed);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *
	 *   puVar1 = PTR_DAT_070c0a30;
	 *   if ((bRam000000000754a741 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a30);
	 *     bRam000000000754a741 = 1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   System.Object..ctor(this_00);
	 *   *(undefined4 *)((long)this_00 + 0x10) = 0;
	 *   *(undefined8 *)((long)this_00 + 0x28) = this;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x28),this);
	 *   *(undefined8 *)((long)this_00 + 0x20) = a;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x20),a);
	 *   *(float *)((long)this_00 + 0x30) = targetSpeed;
	 *   return this_00;
	 */
	// RVA: 0x31F4AE0 VA: 0x78188DFAE0
	private int GetViewID(UnityEngine.GameObject go);
	/*
	 *   undefined *puVar1;
	 *   ulong uVar2;
	 *   long lVar3;
	 *   long lVar4;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a742 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a28);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a742 = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   uVar2 = UnityEngine.Object.op_Equality(go,null);
	 *   if ((uVar2 & 1) == 0) {
	 *     if (go != null) {
	 *       lVar3 = func_0x037f3038(go,*(undefined8 *)PTR_DAT_070c0a28);
	 *       lVar4 = *(long *)puVar1;
	 *       if (*(int *)(lVar4 + 0xe4) == 0) {
	 *         func_0x031fde08(lVar4);
	 *       }
	 *       uVar2 = UnityEngine.Object.op_Inequality(lVar3,null);
	 *       if ((uVar2 & 1) == 0) {
	 *         return -1;
	 *       }
	 *       if (lVar3 != 0) {
	 *         return *(int *)(lVar3 + 0x94);
	 *       }
	 *     }
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   return -1;
	 */
	// RVA: 0x31F36BC VA: 0x78188DE6BC
	private void StartWander();
	/*
	 *   undefined *puVar1;
	 *   int iVar2;
	 *   undefined8 uVar3;
	 *   AdvancedAI_Final *this_00;
	 *   long lVar4;
	 *   long lVar5;
	 *   undefined8 *puVar6;
	 *   undefined8 uVar7;
	 *   undefined8 extraout_x1;
	 *   undefined8 extraout_x1_00;
	 *   void *pvVar8;
	 *   ulong uVar9;
	 *   int *piVar10;
	 *   long *plVar11;
	 *   float fVar12;
	 *   int aiStack_48 [2];
	 *
	 *   pvVar8 = null;
	 *   if ((bRam000000000754a732 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a18);
	 *     func_0x031fdc8c(PTR_DAT_070c0a20);
	 *     bRam000000000754a732 = 1;
	 *   }
	 *   fVar12 = UnityEngine.Time.get_time();
	 *   puVar1 = PTR_DAT_070c0a10;
	 *   if (fVar12 - this.lastBehaviorChangeTime < this.behaviorSwitchCooldown) {
	 *     if (this.debugLogs == false) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *     uVar7 = 0;
	 *     uVar3 = *(undefined8 *)PTR_DAT_070c0a20;
	 *     if ((bRam000000000755e091 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
	 *       bRam000000000755e091 = 1;
	 *       uVar7 = extraout_x1;
	 *     }
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       uVar7 = extraout_x1_00;
	 *     }
	 *     if (cRam000000000755000b == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar7);
	 *       cRam000000000755000b = '\x01';
	 *     }
	 *     lVar5 = *(long *)puVar1;
	 *     if (*(int *)(lVar5 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar5 = *(long *)puVar1;
	 *     }
	 *     plVar11 = *(long **)(*(long *)(lVar5 + 0xb8) + 8);
	 *     if (plVar11 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     lVar5 = *plVar11;
	 *     uVar9 = (ulong)*(ushort *)(lVar5 + 0x12e);
	 *     if (uVar9 != 0) {
	 *       piVar10 = (int *)(*(long *)(lVar5 + 0xb0) + 8);
	 *       do {
	 *         if (*(long *)(piVar10 + -2) == *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40)
	 *         {
	 *           puVar6 = (undefined8 *)(lVar5 + (long)(*piVar10 + 3) * 0x10 + 0x138);
	 *           goto LAB_069382a8;
	 *         }
	 *         uVar9 = uVar9 - 1;
	 *         piVar10 = piVar10 + 4;
	 *       } while (uVar9 != 0);
	 *     }
	 *     puVar6 = (undefined8 *)
	 *              func_0x03237558(plVar11,*(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3)
	 *     ;
	 * LAB_069382a8:
	 *     (*(code *)*puVar6)(plVar11,3,uVar3,puVar6[1]);
	 *     return;
	 *   }
	 *   fVar12 = UnityEngine.Time.get_time();
	 *   this.currentTarget = null;
	 *   this.lastBehaviorChangeTime = fVar12;
	 *   this_00 = (AdvancedAI_Final *)func_0x031fdc38(&this.currentTarget,0);
	 *   iVar2 = AdvancedAI_Final.GetViewID(this_00,null);
	 *   pvVar8 = MonoBehaviourPun.get_photonView(this);
	 *   plVar11 = (long *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *   puVar1 = PTR_DAT_070c0840;
	 *   aiStack_48[1] = 0;
	 *   lVar5 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),aiStack_48 + 1);
	 *   if (plVar11 == null) {
	 * LAB_032f4acc:
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   if ((lVar5 != 0) && (lVar4 = func_0x031fde0c(lVar5,*(undefined8 *)(*plVar11 + 0x40)), lVar4 == 0))
	 *   {
	 * LAB_032f4ad4:
	 *     uVar7 = func_0x031fdf58();
	 *     IL2CPP.ThrowManagedException();
	 *   }
	 *   if ((int)plVar11[3] != 0) {
	 *     plVar11[4] = lVar5;
	 *     func_0x031fdc38(plVar11 + 4,lVar5);
	 *     aiStack_48[0] = iVar2;
	 *     lVar5 = func_0x031fde10(*(undefined8 *)(puVar1 + 0x48),aiStack_48);
	 *     if ((lVar5 != 0) &&
	 *        (lVar4 = func_0x031fde0c(lVar5,*(undefined8 *)(*plVar11 + 0x40)), lVar4 == 0))
	 *     goto LAB_032f4ad4;
	 *     if ((*(uint *)(plVar11 + 3) & 0xfffffffe) != 0) {
	 *       plVar11[5] = lVar5;
	 *       func_0x031fdc38(plVar11 + 5,lVar5);
	 *       if (pvVar8 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar8,*(void **)PTR_DAT_070c0a18,3,plVar11);
	 *         AdvancedAI_Final.BeginBehaviorMaster(this,0,null);
	 *         return;
	 *       }
	 *       goto LAB_032f4acc;
	 *     }
	 *   }
	 *   IL2CPP.ThrowIndexOutOfRangeException();
	 */
	// RVA: 0x31F6558 VA: 0x78188E1558
	private void ChainToIdleWanderLocal();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *inner;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *pvVar3;
	 *   void **ppvVar4;
	 *
	 *   AdvancedAI_Final.StopBehaviorRoutineImmediate(this);
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   pvVar3 = null;
	 *   if ((bRam000000000754a735 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a735 = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (!bVar2) {
	 *     return;
	 *   }
	 *   AdvancedAI_Final.StopBehaviorRoutineImmediate(this);
	 *   inner = AdvancedAI_Final.WanderCoroutine(this);
	 *   pvVar3 = AdvancedAI_Final.WrapWithFailsafe(this,inner,90.0);
	 *   pvVar3 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar3);
	 *   ppvVar4 = &this.behaviorRoutine;
	 *   *ppvVar4 = pvVar3;
	 *   if (iRam00000000077785f0 != 0) {
	 *     func_0x032ed0c0(1L << ((ulong)ppvVar4 >> 0xc & 0x3f),
	 *                     ((ulong)ppvVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *   }
	 *   return;
	 */
	// RVA: 0x31F6578 VA: 0x78188E1578
	private void OnDrawGizmosSelected();
	/*
	 *   void *pvVar1;
	 *   float fVar2;
	 *   UnityEngine_Vector3 UVar3;
	 *   UnityEngine_Color value;
	 *   UnityEngine_Color value_00;
	 *   float fStack_2c;
	 *   float fStack_28;
	 *   float fStack_24;
	 *
	 *   if (this.debugRadius == false) {
	 *     return;
	 *   }
	 *   value.g = (float)_UNK_0134e944;
	 *   value.r = 1.0;
	 *   value.a = 1.0;
	 *   value.b = (float)_UNK_0134ed8c;
	 *   UnityEngine.Gizmos.set_color(value);
	 *   pvVar1 = UnityEngine.Component.get_transform(this);
	 *   if (pvVar1 != null) {
	 *     UVar3 = UnityEngine.Transform.get_position(pvVar1);
	 *     UnityEngine.Gizmos.DrawWireSphere(UVar3,this.alertRadius);
	 *     value_00.b = 1.0;
	 *     value_00.a = 1.0;
	 *     value_00.r = 0.0;
	 *     value_00.g = 1.0;
	 *     UnityEngine.Gizmos.set_color(value_00);
	 *     pvVar1 = UnityEngine.Component.get_transform(this);
	 *     if (pvVar1 != null) {
	 *       UVar3 = UnityEngine.Transform.get_position(pvVar1);
	 *       fStack_24 = UVar3.z;
	 *       fStack_28 = UVar3.y;
	 *       fStack_2c = UVar3.x;
	 *       fVar2 = this.orbitDistance;
	 *       if (pcRam000000000755e198 == null) {
	 *         pcRam000000000755e198 = (code *)func_0x031fdc50(&UNK_01388e54);
	 *       }
	 *       (*pcRam000000000755e198)(fVar2,&fStack_2c);
	 *       return;
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F6618 VA: 0x78188E1618
	public void .ctor();
	/*
	 *   undefined4 uVar1;
	 *   undefined8 uVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   undefined *puVar5;
	 *   undefined *puVar6;
	 *   undefined *puVar7;
	 *   undefined *puVar8;
	 *   undefined *puVar9;
	 *   undefined *puVar10;
	 *   undefined *puVar11;
	 *   undefined8 uVar12;
	 *   undefined8 uVar13;
	 *   int iVar14;
	 *   void *pvVar15;
	 *   undefined8 uVar16;
	 *   undefined8 uVar17;
	 *
	 *   puVar4 = PTR_DAT_070c0a80;
	 *   puVar3 = PTR_DAT_070c0a78;
	 *   if ((bRam000000000754a743 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a88);
	 *     func_0x031fdc8c(PTR_DAT_070c0a90);
	 *     func_0x031fdc8c(PTR_DAT_070c0a98);
	 *     func_0x031fdc8c(PTR_DAT_070c0aa0);
	 *     func_0x031fdc8c(PTR_DAT_070c0aa8);
	 *     func_0x031fdc8c(PTR_DAT_070c09c8);
	 *     func_0x031fdc8c(PTR_DAT_070c0ab0);
	 *     func_0x031fdc8c(PTR_DAT_070c09e0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a80);
	 *     func_0x031fdc8c(PTR_DAT_070c0a78);
	 *     bRam000000000754a743 = 1;
	 *   }
	 *   this.playerTag = *(void **)puVar3;
	 *   func_0x031fdc38();
	 *   pvVar15 = (void *)func_0x031fdd78(*(undefined8 *)puVar4,1);
	 *   puVar11 = PTR_DAT_070c0ab0;
	 *   puVar10 = PTR_DAT_070c0aa8;
	 *   puVar9 = PTR_DAT_070c0aa0;
	 *   puVar8 = PTR_DAT_070c0a98;
	 *   puVar7 = PTR_DAT_070c0a90;
	 *   puVar6 = PTR_DAT_070c0a88;
	 *   puVar5 = PTR_DAT_070c09e0;
	 *   puVar4 = PTR_DAT_070c09c8;
	 *   if (pvVar15 != null) {
	 *     if (*(int *)((long)pvVar15 + 0x18) != 0) {
	 *       *(undefined8 *)((long)pvVar15 + 0x20) = *(undefined8 *)puVar3;
	 *       func_0x031fdc38();
	 *       this.targetTags = pvVar15;
	 *       func_0x031fdc38(&this.targetTags,pvVar15);
	 *       this.alertRadius = 20.0;
	 *       uVar2 = _UNK_0134d408;
	 *       uVar17 = _UNK_0134cfd0;
	 *       uVar13 = _UNK_0134a760;
	 *       uVar16 = *(undefined8 *)puVar5;
	 *       uVar1 = _UNK_0134a76c;
	 *       this.stalkSpeed = (float)_UNK_0134a768;
	 *       uVar12 = _UNK_0134a760;
	 *       this.chaseSpeed = (float)uVar1;
	 *       _UNK_0134a760 = (undefined4)uVar13;
	 *       _UNK_0134a764 = SUB84(uVar13,4);
	 *       uVar1 = _UNK_0134a764;
	 *       this.wanderSpeed = (float)_UNK_0134a760;
	 *       _UNK_0134a760 = uVar12;
	 *       this.minWanderPause = (float)uVar1;
	 *       this.accelerationDuration = 1.0;
	 *       uVar13 = _UNK_0134cfd0;
	 *       _UNK_0134cfd0 = (undefined4)uVar17;
	 *       _UNK_0134cfd4 = SUB84(uVar17,4);
	 *       uVar1 = _UNK_0134cfd4;
	 *       this.runSpeed = (float)_UNK_0134cfd0;
	 *       _UNK_0134cfd0 = uVar13;
	 *       uVar13 = _UNK_0134d408;
	 *       this.accelerationBurst = (float)uVar1;
	 *       _UNK_0134d408 = (undefined4)uVar2;
	 *       _UNK_0134d40c = SUB84(uVar2,4);
	 *       uVar1 = _UNK_0134d40c;
	 *       this.stalkSneakDistance = (float)_UNK_0134d408;
	 *       _UNK_0134d408 = uVar13;
	 *       this.stalkMaxApproachDistance = (float)uVar1;
	 *       pvVar15 = (void *)func_0x031fdf24(uVar16);
	 *       func_0x03f2ce9c(pvVar15,*(undefined8 *)puVar4);
	 *       this.objectsToDisableDuringStalk = pvVar15;
	 *       func_0x031fdc38(&this.objectsToDisableDuringStalk,pvVar15);
	 *       pvVar15 = (void *)func_0x031fdf24(*(undefined8 *)puVar11);
	 *       func_0x03f2ce9c(pvVar15,*(undefined8 *)puVar10);
	 *       this.audioToMuteDuringStalk = pvVar15;
	 *       func_0x031fdc38(&this.audioToMuteDuringStalk,pvVar15);
	 *       uVar16 = _UNK_0134e098;
	 *       uVar2 = _UNK_0134d328;
	 *       uVar12 = _UNK_0134ac98;
	 *       uVar13 = _UNK_0134ac90;
	 *       this.straightKillDuration = 12.0;
	 *       this.straightKillLockOn = true;
	 *       uVar17 = _UNK_0134ac98;
	 *       _UNK_0134ac98 = (undefined4)uVar12;
	 *       _UNK_0134ac9c = SUB84(uVar12,4);
	 *       uVar1 = _UNK_0134ac9c;
	 *       this.watchWaitBeforeDecision = (float)_UNK_0134ac98;
	 *       _UNK_0134ac98 = uVar17;
	 *       uVar12 = _UNK_0134ac90;
	 *       this.watchDistanceLimit = (float)uVar1;
	 *       _UNK_0134ac90 = (undefined4)uVar13;
	 *       _UNK_0134ac94 = SUB84(uVar13,4);
	 *       uVar1 = _UNK_0134ac94;
	 *       this.watchMinDuration = (float)_UNK_0134ac90;
	 *       _UNK_0134ac90 = uVar12;
	 *       uVar13 = _UNK_0134e098;
	 *       this.watchMaxDuration = (float)uVar1;
	 *       _UNK_0134e098 = (undefined4)uVar16;
	 *       _UNK_0134e09c = SUB84(uVar16,4);
	 *       uVar1 = _UNK_0134e09c;
	 *       this.orbitDistance = (float)_UNK_0134e098;
	 *       _UNK_0134e098 = uVar13;
	 *       uVar13 = _UNK_0134d328;
	 *       this.orbitSpeed = (float)uVar1;
	 *       _UNK_0134d328 = (undefined4)uVar2;
	 *       _UNK_0134d32c = SUB84(uVar2,4);
	 *       uVar1 = _UNK_0134d32c;
	 *       this.updateFrequency = (float)_UNK_0134d328;
	 *       _UNK_0134d328 = uVar13;
	 *       this.minDestinationChangeInterval = (float)uVar1;
	 *       this.wanderPointReachThreshold = 0.5;
	 *       iVar14 = UnityEngine.LayerMask.op_Implicit(-1);
	 *       this.lastWanderIndex = -1;
	 *       this.obstructionMask = iVar14;
	 *       this.maxTargetsConsidered = 0xc;
	 *       uVar13 = _UNK_0134dc98;
	 *       uVar17 = *(undefined8 *)puVar8;
	 *       this.behaviorSwitchCooldown = 0.15;
	 *       uVar12 = _UNK_0134dc98;
	 *       _UNK_0134dc98 = (undefined4)uVar13;
	 *       _UNK_0134dc9c = SUB84(uVar13,4);
	 *       uVar1 = _UNK_0134dc9c;
	 *       this.retargetInterval = (float)_UNK_0134dc98;
	 *       _UNK_0134dc98 = uVar12;
	 *       this.retargetDistanceThreshold = (float)uVar1;
	 *       this.debugLogs = true;
	 *       this.debugRadius = true;
	 *       pvVar15 = (void *)func_0x031fdf24(uVar17);
	 *       func_0x04e39910(pvVar15,*(undefined8 *)puVar7);
	 *       this.originalAudioVolumes = pvVar15;
	 *       func_0x031fdc38(&this.originalAudioVolumes,pvVar15);
	 *       pvVar15 = (void *)func_0x031fdf24(*(undefined8 *)puVar9);
	 *       func_0x04e046bc(pvVar15,*(undefined8 *)puVar6);
	 *       this.originalObjectStates = pvVar15;
	 *       func_0x031fdc38(&this.originalObjectStates,pvVar15);
	 *       this.allowBehaviorUpdate = true;
	 *       this.lastRetargetTime = -999.0;
	 *       puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *       this.lastBehaviorChangeTime = -999.0;
	 *       if ((bRam000000000755f76f & 1) == 0) {
	 *         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *         bRam000000000755f76f = 1;
	 *       }
	 *       if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       return;
	 *     }
	 *     IL2CPP.ThrowIndexOutOfRangeException();
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
}
