// [TypeInfo RVA: 0x0]
private sealed class <StalkCoroutine>d__76 : Object
{
	private int <>1__state; // 0x10
	private object <>2__current; // 0x18
	public AdvancedAI_Final <>4__this; // 0x20
	public UnityEngine.GameObject target; // 0x28
	private float <startTime>5__2; // 0x30
	private float <stalkTimeout>5__3; // 0x34
	private UnityEngine.GameObject <localTarget>5__4; // 0x38

	// RVA: 0x31F5E6C VA: 0x78188E0E6C
	public void .ctor(int <>1__state);
	/*
	 *   System.Object..ctor(this);
	 *   this.n_1_state = n_1_state;
	 *   return;
	 */
	// RVA: 0x31F7678 VA: 0x78188E2678
	private void System.IDisposable.Dispose();
	/*
	 *   return;
	 */
	// RVA: 0x31F767C VA: 0x78188E267C
	private bool MoveNext();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   long lVar3;
	 *   ulong uVar4;
	 *   int pick;
	 *   void *extraout_x1;
	 *   void *extraout_x1_00;
	 *   void *extraout_x1_01;
	 *   void *methodInfo_00;
	 *   void *pvVar5;
	 *   void *in_x4;
	 *   float *pfVar6;
	 *   AdvancedAI_Final *this_00;
	 *   void *pvVar7;
	 *   void **ppvVar8;
	 *   float fVar9;
	 *   float fVar10;
	 *   float fVar11;
	 *   float fVar12;
	 *   UnityEngine_Vector3 UVar13;
	 *   UnityEngine_Vector3 UVar14;
	 *   undefined1 auVar15 [16];
	 *   UnityEngine_Vector4 UVar16;
	 *   UnityEngine_Vector4 b;
	 *   undefined8 uStack_d8;
	 *   undefined8 *puStack_d0;
	 *   void *pvStack_c8;
	 *   undefined8 uStack_c0;
	 *   undefined8 *puStack_b8;
	 *   void *pvStack_b0;
	 *   undefined8 uStack_a0;
	 *   undefined8 *puStack_98;
	 *   void *pvStack_90;
	 *
	 *   if ((bRam000000000754a747 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     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(PTR_DAT_070c0ab8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(PTR_DAT_070c0af0);
	 *     bRam000000000754a747 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   this_00 = this.n_4_this;
	 *   uStack_a0 = 0;
	 *   puStack_98 = null;
	 *   pvStack_90 = null;
	 *   uStack_c0 = 0;
	 *   puStack_b8 = null;
	 *   pvStack_b0 = null;
	 *   if (this.n_1_state == 1) {
	 *     this.n_1_state = -1;
	 *   }
	 *   else {
	 *     if (this.n_1_state != 0) {
	 *       return false;
	 *     }
	 *     this.n_1_state = -1;
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     if (this_00 == null) goto LAB_032f7df8;
	 *     this_00->currentBehavior = 1;
	 *     this_00->dbgWander = false;
	 *     this_00->dbgStalk = false;
	 *     this_00->dbgWatch = false;
	 *     this_00->dbgRunAround = false;
	 *     this_00->dbgKill = false;
	 *     lVar3 = *(long *)puVar1;
	 *     this_00->dbgStalk = true;
	 *     pvVar7 = this.target;
	 *     if (*(int *)(lVar3 + 0xe4) == 0) {
	 *       func_0x031fde08(lVar3,methodInfo);
	 *     }
	 *     uVar4 = UnityEngine.Object.op_Equality(pvVar7,null);
	 *     if ((uVar4 & 1) != 0) {
	 *       pick = 0;
	 *       pvVar7 = null;
	 *       goto LAB_032f7d08;
	 *     }
	 *     if (this_00->objectsToDisableDuringStalk == null) goto LAB_032f7df8;
	 *     func_0x03f2e1a8(&uStack_d8,this_00->objectsToDisableDuringStalk,*(undefined8 *)PTR_DAT_070c0950)
	 *     ;
	 *     puVar2 = PTR_DAT_070c0938;
	 *     puStack_98 = puStack_d0;
	 *     uStack_a0 = uStack_d8;
	 *     pvStack_90 = pvStack_c8;
	 *     uStack_d8 = 0;
	 *     puStack_d0 = &uStack_a0;
	 *     while (uVar4 = func_0x05018cac(&uStack_a0,*(undefined8 *)puVar2), pvVar7 = pvStack_90,
	 *           (uVar4 & 1) != 0) {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar4 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *       if ((uVar4 & 1) != 0) {
	 *         if (pvVar7 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         UnityEngine.GameObject.SetActive(pvVar7,false);
	 *       }
	 *     }
	 *     func_0x05018ca8(&uStack_a0,*(undefined8 *)PTR_DAT_070c0920);
	 *     pvVar7 = this_00->audioToMuteDuringStalk;
	 *     if ((pvVar7 != null) && (0 < *(int *)((long)pvVar7 + 0x18))) {
	 *       func_0x03f2e1a8(&uStack_d8,pvVar7,*(undefined8 *)PTR_DAT_070c0958);
	 *       puVar2 = PTR_DAT_070c0930;
	 *       puStack_b8 = puStack_d0;
	 *       uStack_c0 = uStack_d8;
	 *       pvStack_b0 = pvStack_c8;
	 *       uStack_d8 = 0;
	 *       puStack_d0 = &uStack_c0;
	 *       while (uVar4 = func_0x05018cac(&uStack_c0,*(undefined8 *)puVar2), pvVar7 = pvStack_b0,
	 *             (uVar4 & 1) != 0) {
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar4 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *         if ((uVar4 & 1) != 0) {
	 *           if (pvVar7 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           UnityEngine.AudioSource.set_mute(pvVar7,true);
	 *           UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(pvVar7,false);
	 *         }
	 *       }
	 *       func_0x05018ca8(&uStack_c0,*(undefined8 *)PTR_DAT_070c0928);
	 *     }
	 *     pvVar7 = this_00->agent;
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     uVar4 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *     if ((uVar4 & 1) != 0) {
	 *       if (this_00->agent == null) goto LAB_032f7df8;
	 *       UnityEngine.AI.NavMeshAgent.set_isStopped(this_00->agent,false);
	 *       if (this_00->agent == null) goto LAB_032f7df8;
	 *       UnityEngine.AI.NavMeshAgent.set_speed(this_00->agent,this_00->stalkSpeed);
	 *       if (this_00->agent == null) goto LAB_032f7df8;
	 *       UnityEngine.AI.NavMeshAgent.set_acceleration(this_00->agent,200.0)
	 *       ;
	 *     }
	 *     fVar9 = UnityEngine.Time.get_time();
	 *     this.localTarget_5_4 = this.target;
	 *     this.startTime_5_2 = fVar9;
	 *     this.stalkTimeout_5_3 = 60.0;
	 *     func_0x031fdc38();
	 *     methodInfo = extraout_x1_00;
	 *   }
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   ppvVar8 = &this.localTarget_5_4;
	 *   pvVar7 = *ppvVar8;
	 *   if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,methodInfo);
	 *   }
	 *   pvVar5 = null;
	 *   auVar15 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *   pvVar7 = auVar15._8_8_;
	 *   if (((auVar15._0_8_ & 1) == 0) ||
	 *      (fVar9 = UnityEngine.Time.get_time(), pvVar7 = extraout_x1_01,
	 *      this.stalkTimeout_5_3 <= fVar9 - this.startTime_5_2)) {
	 *     if (this_00 != null) {
	 *       pvVar7 = AdvancedAI_Final.MoveToFarPointCoroutine(this_00);
	 *       AdvancedAI_Final.StartExclusiveCoroutine(this_00,pvVar7);
	 *       return false;
	 *     }
	 *   }
	 *   else if (this_00 != null) {
	 *     pvVar7 = AdvancedAI_Final.ChooseBestTarget(this_00,*ppvVar8);
	 *     lVar3 = *(long *)puVar1;
	 *     pvVar5 = *ppvVar8;
	 *     if (*(int *)(lVar3 + 0xe4) == 0) {
	 *       func_0x031fde08(lVar3);
	 *     }
	 *     uVar4 = UnityEngine.Object.op_Inequality(pvVar7,pvVar5);
	 *     if ((uVar4 & 1) != 0) {
	 *       *ppvVar8 = pvVar7;
	 *       func_0x031fdc38(ppvVar8,pvVar7);
	 *       this_00->currentTarget = *ppvVar8;
	 *       func_0x031fdc38(&this_00->currentTarget);
	 *       pvVar7 = this_00->agent;
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar4 = UnityEngine.Object.op_Inequality(pvVar7,null);
	 *       if ((uVar4 & 1) != 0) {
	 *         if (this_00->agent == null) goto LAB_032f7df8;
	 *         UnityEngine.AI.NavMeshAgent.ResetPath(this_00->agent);
	 *         this_00->lastDestinationTime = 0.0;
	 *         if (this_00->agent == null) goto LAB_032f7df8;
	 *         UnityEngine.AI.NavMeshAgent.set_isStopped(this_00->agent,false);
	 *       }
	 *       if (this_00->debugLogs != false) {
	 *         pvVar7 = null;
	 *         pvVar5 = *(void **)PTR_DAT_070c0af0;
	 *         if (*ppvVar8 != null) {
	 *           pvVar7 = UnityEngine.Object.get_name(*ppvVar8);
	 *         }
	 *         pvVar7 = System.String.Concat(pvVar5,pvVar7);
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *           func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *         }
	 *         UnityEngine.Debug.Log(pvVar7);
	 *       }
	 *     }
	 *     pvVar7 = UnityEngine.Component.get_transform(this_00);
	 *     if (pvVar7 != null) {
	 *       UVar13 = UnityEngine.Transform.get_position(pvVar7);
	 *       if ((*ppvVar8 != null) &&
	 *          (pvVar7 = UnityEngine.GameObject.get_transform(*ppvVar8),
	 *          pvVar7 != null)) {
	 *         UVar14 = UnityEngine.Transform.get_position(pvVar7);
	 *         if (cRam000000000754a7c9 == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *           cRam000000000754a7c9 = '\x01';
	 *         }
	 *         puVar1 = typeinfo_ptr_mscorlib_Math_6FC0738;
	 *         if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Math_6FC0738 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         if ((*ppvVar8 != null) &&
	 *            (pvVar7 = UnityEngine.GameObject.get_transform(*ppvVar8)
	 *            , pvVar7 != null)) {
	 *           fVar9 = UVar13.y - UVar14.y;
	 *           fVar10 = UVar13.x - UVar14.x;
	 *           fVar12 = UVar13.z - UVar14.z;
	 *           UVar13 = UnityEngine.Transform.get_position(pvVar7);
	 *           AdvancedAI_Final.SetDestination(this_00,UVar13);
	 *           pvVar7 = *ppvVar8;
	 *           if (SQRT(fVar12 * fVar12 + fVar10 * fVar10 + fVar9 * fVar9) <=
	 *               this_00->stalkMaxApproachDistance) {
	 *             pick = 4;
	 * LAB_032f7d08:
	 *             AdvancedAI_Final.SwitchToBehaviorWithTarget(this_00,pick,pvVar7,false);
	 *             return false;
	 *           }
	 *           if ((pvVar7 != null) &&
	 *              (pvVar7 = UnityEngine.GameObject.get_transform(pvVar7)
	 *              , pvVar7 != null)) {
	 *             UVar13 = UnityEngine.Transform.get_position(pvVar7);
	 *             pvVar7 = UnityEngine.Component.get_transform(this_00);
	 *             if (pvVar7 != null) {
	 *               UVar14 = UnityEngine.Transform.get_position(pvVar7);
	 *               fVar9 = UVar13.x - UVar14.x;
	 *               fVar12 = UVar13.z - UVar14.z;
	 *               fVar10 = fVar9 * fVar9 + fVar12 * fVar12;
	 *               if (fVar10 <= _UNK_0134e9fc) {
	 * LAB_032f7dd8:
	 *                 this.n_2_current = null;
	 *                 func_0x031fdc38(&this.n_2_current,0);
	 *                 this.n_1_state = 1;
	 *                 return true;
	 *               }
	 *               pvVar7 = UnityEngine.Component.get_transform(this_00)
	 *               ;
	 *               pvVar5 = UnityEngine.Component.get_transform(this_00)
	 *               ;
	 *               if (pvVar5 != null) {
	 *                 UVar16 = UnityEngine.Transform.get_rotation(pvVar5)
	 *                 ;
	 *                 if (cRam000000000754a7cc == '\0') {
	 *                   func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *                   cRam000000000754a7cc = '\x01';
	 *                 }
	 *                 if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *                   func_0x031fde08();
	 *                 }
	 *                 fVar10 = SQRT(fVar10);
	 *                 if (fVar10 <= _UNK_0134eeec) {
	 *                   if (cRam000000000754a7ce == '\0') {
	 *                     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *                     cRam000000000754a7ce = '\x01';
	 *                   }
	 *                   pfVar6 = *(float **)
	 *                             (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *                   fVar9 = *pfVar6;
	 *                   fVar11 = pfVar6[1];
	 *                   fVar12 = pfVar6[2];
	 *                 }
	 *                 else {
	 *                   fVar9 = fVar9 / fVar10;
	 *                   fVar11 = 0.0 / fVar10;
	 *                   fVar12 = fVar12 / fVar10;
	 *                 }
	 *                 UVar13.y = fVar11;
	 *                 UVar13.x = fVar9;
	 *                 UVar13.z = fVar12;
	 *                 b = UnityEngine.Quaternion.LookRotation(UVar13);
	 *                 fVar9 = UnityEngine.Time.get_deltaTime();
	 *                 UVar16 = UnityEngine.Quaternion.Slerp(UVar16,b,fVar9 * 5.0);
	 *                 if (pvVar7 != null) {
	 *                   UnityEngine.Transform.set_rotation(pvVar7,UVar16)
	 *                   ;
	 *                   goto LAB_032f7dd8;
	 *                 }
	 *               }
	 *             }
	 *           }
	 *         }
	 *       }
	 *     }
	 *   }
	 * LAB_032f7df8:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F7EC8 VA: 0x78188E2EC8
	private object System.Collections.Generic.IEnumerator<System.Object>.get_Current();
	/*
	 *   return this.n_2_current;
	 */
	// RVA: 0x31F7ED0 VA: 0x78188E2ED0
	private void System.Collections.IEnumerator.Reset();
	/*
	 *   void *this_00;
	 *   undefined8 uVar1;
	 *
	 *   func_0x031fdca0(PTR_DAT_070c0ad0);
	 *   this_00 = (void *)func_0x031fdf24();
	 *   System.NotSupportedException..ctor(this_00);
	 *   uVar1 = func_0x031fdca0(PTR_DAT_070c0af8);
	 *   IL2CPP.ThrowManagedException();
	 */
	// RVA: 0x31F7F08 VA: 0x78188E2F08
	private object System.Collections.IEnumerator.get_Current();
	/*
	 *   return this.n_2_current;
	 */
}
