// [TypeInfo RVA: 0x0]
private sealed class <RunAroundCoroutine>d__78 : Object
{
	private int <>1__state; // 0x10
	private object <>2__current; // 0x18
	public AdvancedAI_Final <>4__this; // 0x20
	public UnityEngine.GameObject target; // 0x28
	private float <duration>5__2; // 0x30
	private float <startTime>5__3; // 0x34
	private float <angle>5__4; // 0x38
	private float <orbitDir>5__5; // 0x3C
	private float <smoothing>5__6; // 0x40
	private UnityEngine.GameObject <localTarget>5__7; // 0x48

	// RVA: 0x31F5EBC VA: 0x78188E0EBC
	public void .ctor(int <>1__state);
	/*
	 *   System.Object..ctor(this);
	 *   this.n_1_state = n_1_state;
	 *   return;
	 */
	// RVA: 0x31F711C VA: 0x78188E211C
	private void System.IDisposable.Dispose();
	/*
	 *   return;
	 */
	// RVA: 0x31F7120 VA: 0x78188E2120
	private bool MoveNext();
	/*
	 *   undefined *puVar1;
	 *   long lVar2;
	 *   ulong uVar3;
	 *   void *extraout_x1;
	 *   void *extraout_x1_00;
	 *   void *methodInfo_00;
	 *   void *pvVar4;
	 *   void *in_x4;
	 *   AdvancedAI_Final *this_00;
	 *   void *pvVar5;
	 *   void **ppvVar6;
	 *   float fVar7;
	 *   float fVar8;
	 *   float fVar9;
	 *   float fVar10;
	 *   float fVar11;
	 *   float fVar12;
	 *   float fVar13;
	 *   UnityEngine_Vector3 UVar14;
	 *   UnityEngine_Vector3 UVar15;
	 *   float fStack_a0;
	 *   float fStack_9c;
	 *   float fStack_98;
	 *   undefined4 uStack_94;
	 *   undefined8 uStack_90;
	 *   undefined8 uStack_88;
	 *   undefined4 uStack_80;
	 *   float fStack_38;
	 *   float fStack_34;
	 *
	 *   if ((bRam000000000754a746 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(PTR_DAT_070c0ae0);
	 *     bRam000000000754a746 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   this_00 = this.n_4_this;
	 *   uStack_80 = 0;
	 *   fStack_98 = 0.0;
	 *   uStack_94 = 0;
	 *   fStack_a0 = 0.0;
	 *   fStack_9c = 0.0;
	 *   uStack_88 = 0;
	 *   uStack_90 = 0;
	 *   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_032f762c;
	 *     this_00->currentBehavior = 3;
	 *     this_00->dbgWander = false;
	 *     this_00->dbgStalk = false;
	 *     this_00->dbgWatch = false;
	 *     this_00->dbgRunAround = false;
	 *     this_00->dbgKill = false;
	 *     lVar2 = *(long *)puVar1;
	 *     pvVar5 = this.target;
	 *     this_00->dbgRunAround = true;
	 *     if (*(int *)(lVar2 + 0xe4) == 0) {
	 *       func_0x031fde08(lVar2,methodInfo);
	 *     }
	 *     uVar3 = UnityEngine.Object.op_Equality(pvVar5,null);
	 *     if ((uVar3 & 1) != 0) {
	 *       AdvancedAI_Final.SwitchToBehaviorWithTarget(this_00,0,null,false);
	 *       return false;
	 *     }
	 *     pvVar5 = this_00->agent;
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     uVar3 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *     if ((uVar3 & 1) != 0) {
	 *       if (this_00->agent == null) goto LAB_032f762c;
	 *       UnityEngine.AI.NavMeshAgent.set_isStopped(this_00->agent,false);
	 *       if (this_00->agent == null) goto LAB_032f762c;
	 *       UnityEngine.AI.NavMeshAgent.set_speed(this_00->agent,this_00->runSpeed);
	 *       if (this_00->agent == null) goto LAB_032f762c;
	 *       UnityEngine.AI.NavMeshAgent.set_acceleration(this_00->agent,this_00->accelerationBurst);
	 *     }
	 *     this.duration_5_2 = this_00->straightKillDuration;
	 *     fVar7 = UnityEngine.Time.get_time();
	 *     this.startTime_5_3 = fVar7;
	 *     pvVar5 = UnityEngine.Component.get_transform(this_00);
	 *     if (pvVar5 == null) goto LAB_032f762c;
	 *     UVar14 = UnityEngine.Transform.get_position(pvVar5);
	 *     if ((this.target == null) ||
	 *        (pvVar5 = UnityEngine.GameObject.get_transform(this.target)
	 *        , pvVar5 == null)) goto LAB_032f762c;
	 *     UVar15 = UnityEngine.Transform.get_position(pvVar5);
	 *     fVar7 = (float)func_0x06cb3930(UVar14.z - UVar15.z,UVar14.x - UVar15.x);
	 *     this.angle_5_4 = fVar7;
	 *     fVar8 = Random.get_value();
	 *     this.localTarget_5_7 = this.target;
	 *     this.smoothing_5_6 = 5.0;
	 *     fVar7 = 1.0;
	 *     if (fVar8 <= 0.5) {
	 *       fVar7 = -1.0;
	 *     }
	 *     this.orbitDir_5_5 = fVar7;
	 *     func_0x031fdc38();
	 *     methodInfo = extraout_x1_00;
	 *   }
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   ppvVar6 = &this.localTarget_5_7;
	 *   pvVar5 = *ppvVar6;
	 *   if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,methodInfo);
	 *   }
	 *   pvVar4 = null;
	 *   uVar3 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *   if (((uVar3 & 1) == 0) ||
	 *      (fVar7 = UnityEngine.Time.get_time(),
	 *      this.duration_5_2 <= fVar7 - this.startTime_5_3)) {
	 *     if (this_00 != null) {
	 *       AdvancedAI_Final.ChainOrWander(this_00,this.target);
	 *       return false;
	 *     }
	 *   }
	 *   else if (this_00 != null) {
	 *     pvVar5 = AdvancedAI_Final.ChooseBestTarget(this_00,*ppvVar6);
	 *     lVar2 = *(long *)puVar1;
	 *     pvVar4 = *ppvVar6;
	 *     if (*(int *)(lVar2 + 0xe4) == 0) {
	 *       func_0x031fde08(lVar2);
	 *     }
	 *     uVar3 = UnityEngine.Object.op_Inequality(pvVar5,pvVar4);
	 *     if ((uVar3 & 1) != 0) {
	 *       *ppvVar6 = pvVar5;
	 *       func_0x031fdc38(ppvVar6,pvVar5);
	 *       this_00->currentTarget = *ppvVar6;
	 *       func_0x031fdc38(&this_00->currentTarget);
	 *       pvVar5 = this_00->agent;
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar3 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *       if ((uVar3 & 1) != 0) {
	 *         if (this_00->agent == null) goto LAB_032f762c;
	 *         UnityEngine.AI.NavMeshAgent.ResetPath(this_00->agent);
	 *         this_00->lastDestinationTime = 0.0;
	 *         if (this_00->agent == null) goto LAB_032f762c;
	 *         UnityEngine.AI.NavMeshAgent.set_isStopped(this_00->agent,false);
	 *       }
	 *       if (this_00->debugLogs != false) {
	 *         pvVar5 = null;
	 *         pvVar4 = *(void **)PTR_DAT_070c0ae0;
	 *         if (*ppvVar6 != null) {
	 *           pvVar5 = UnityEngine.Object.get_name(*ppvVar6);
	 *         }
	 *         pvVar5 = System.String.Concat(pvVar4,pvVar5);
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *           func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *         }
	 *         UnityEngine.Debug.Log(pvVar5);
	 *       }
	 *     }
	 *     if ((*ppvVar6 != null) &&
	 *        (pvVar5 = UnityEngine.GameObject.get_transform(*ppvVar6),
	 *        pvVar5 != null)) {
	 *       UVar14 = UnityEngine.Transform.get_position(pvVar5);
	 *       func_0x06cb3940(this.angle_5_4,&fStack_34,&fStack_38);
	 *       fVar7 = this_00->orbitDistance;
	 *       uVar3 = NavMesh.SamplePosition(UVar14.x + fStack_38 * fVar7,UVar14.y + fVar7 * 0.0,UVar14.z + fStack_34 * fVar7,0x40800000,&fStack_a0,0xffffffff,0);
	 *       fVar11 = fStack_98;
	 *       fVar8 = fStack_9c;
	 *       fVar7 = fStack_a0;
	 *       if ((uVar3 & 1) != 0) {
	 *         if ((*ppvVar6 == null) ||
	 *            (pvVar5 = UnityEngine.GameObject.get_transform(*ppvVar6)
	 *            , pvVar5 == null)) goto LAB_032f762c;
	 *         UVar14 = UnityEngine.Transform.get_position(pvVar5);
	 *         if (cRam000000000754a7c9 == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *           cRam000000000754a7c9 = '\x01';
	 *         }
	 *         if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Math_6FC0738 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         fVar8 = fVar8 - UVar14.y;
	 *         fVar7 = fVar7 - UVar14.x;
	 *         fVar12 = this_00->orbitDistance;
	 *         fVar11 = fVar11 - UVar14.z;
	 *         fVar9 = UnityEngine.Time.get_deltaTime();
	 *         fVar9 = fVar9 * this.smoothing_5_6;
	 *         fVar13 = 1.0;
	 *         if (fVar9 <= 1.0) {
	 *           fVar13 = fVar9;
	 *         }
	 *         fVar10 = 0.0;
	 *         if (0.0 <= fVar9) {
	 *           fVar10 = fVar13;
	 *         }
	 *         UVar14.y = fStack_9c;
	 *         UVar14.x = fStack_a0;
	 *         UVar14.z = fStack_98;
	 *         this_00->orbitDistance =
	 *              fVar12 + (SQRT(fVar11 * fVar11 + fVar7 * fVar7 + fVar8 * fVar8) - fVar12) * fVar10;
	 *         AdvancedAI_Final.SetDestination(this_00,UVar14);
	 *       }
	 *       fVar8 = this.angle_5_4;
	 *       fVar11 = this.orbitDir_5_5;
	 *       fVar13 = this_00->orbitSpeed;
	 *       fVar7 = UnityEngine.Time.get_deltaTime();
	 *       this.angle_5_4 = fVar8 + fVar11 * fVar13 * fVar7;
	 *       this.n_2_current = null;
	 *       func_0x031fdc38(&this.n_2_current,0);
	 *       this.n_1_state = 1;
	 *       return true;
	 *     }
	 *   }
	 * LAB_032f762c:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31F7630 VA: 0x78188E2630
	private object System.Collections.Generic.IEnumerator<System.Object>.get_Current();
	/*
	 *   return this.n_2_current;
	 */
	// RVA: 0x31F7638 VA: 0x78188E2638
	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_070c0ae8);
	 *   IL2CPP.ThrowManagedException();
	 */
	// RVA: 0x31F7670 VA: 0x78188E2670
	private object System.Collections.IEnumerator.get_Current();
	/*
	 *   return this.n_2_current;
	 */
}
