// [TypeInfo RVA: 0x0]
private sealed class <TeleportRoutine>d__17 : Object
{
	private int <>1__state; // 0x10
	private object <>2__current; // 0x18
	public TeleportGorillaPlayer_Auto <>4__this; // 0x20

	// RVA: 0x31FAA88 VA: 0x78188E5A88
	public void .ctor(int <>1__state);
	/*
	 *   System.Object..ctor(this);
	 *   this.n_1_state = n_1_state;
	 *   return;
	 */
	// RVA: 0x31FAB14 VA: 0x78188E5B14
	private void System.IDisposable.Dispose();
	/*
	 *   return;
	 */
	// RVA: 0x31FAB18 VA: 0x78188E5B18
	private bool MoveNext();
	/*
	 *   undefined *puVar1;
	 *   int iVar2;
	 *   ulong uVar3;
	 *   void *extraout_x1;
	 *   ulong uVar4;
	 *   undefined8 uVar5;
	 *   void *pvVar6;
	 *   void *pvVar7;
	 *   long lVar8;
	 *   float fVar9;
	 *   UnityEngine_Vector3 value;
	 *
	 *   if ((bRam000000000754a75b & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10);
	 *     bRam000000000754a75b = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   iVar2 = this.n_1_state;
	 *   pvVar7 = this.n_4_this;
	 *   if (iVar2 == 2) {
	 *     this.n_1_state = -1;
	 *     if (pvVar7 != null) {
	 *       *(undefined1 *)((long)pvVar7 + 0x71) = 0;
	 *       return false;
	 *     }
	 *   }
	 *   else if (iVar2 == 1) {
	 *     this.n_1_state = -1;
	 *     if ((pvVar7 != null) && (*(long *)((long)pvVar7 + 0x28) != 0)) {
	 *       *(undefined4 *)(*(long *)((long)pvVar7 + 0x28) + 0x10c) = *(undefined4 *)((long)pvVar7 + 0x38)
	 *       ;
	 *       if ((*(long *)((long)pvVar7 + 0x28) != 0) &&
	 *          (pvVar6 = *(void **)(*(long *)((long)pvVar7 + 0x28) + 0x20), pvVar6 != null)) {
	 *         UnityEngine.Collider.set_enabled(pvVar6,true);
	 *         if ((*(long *)((long)pvVar7 + 0x28) != 0) &&
	 *            (pvVar6 = *(void **)(*(long *)((long)pvVar7 + 0x28) + 0x28), pvVar6 != null)) {
	 *           UnityEngine.Collider.set_enabled(pvVar6,true);
	 *           if (*(void **)((long)pvVar7 + 0x30) != null) {
	 *             UnityEngine.Rigidbody.set_isKinematic(*(void **)((long)pvVar7 + 0x30),false);
	 *             puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *             lVar8 = *(long *)((long)pvVar7 + 0x68);
	 *             if (lVar8 != 0) {
	 *               if (0 < (int)*(ulong *)(lVar8 + 0x18)) {
	 *                 uVar3 = 0;
	 *                 uVar4 = *(ulong *)(lVar8 + 0x18) & 0xffffffff;
	 *                 do {
	 *                   if (uVar4 <= uVar3) goto LAB_032faf24;
	 *                   pvVar6 = *(void **)(lVar8 + 0x20 + uVar3 * 8);
	 *                   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *                     func_0x031fde08();
	 *                   }
	 *                   uVar4 = UnityEngine.Object.op_Implicit(pvVar6);
	 *                   if ((uVar4 & 1) != 0) {
	 *                     if (pvVar6 == null) goto LAB_032faf20;
	 *                     UnityEngine.GameObject.SetActive(pvVar6,true);
	 *                   }
	 *                   uVar4 = (ulong)*(uint *)(lVar8 + 0x18);
	 *                   uVar3 = uVar3 + 1;
	 *                 } while ((long)uVar3 < (long)(int)*(uint *)(lVar8 + 0x18));
	 *               }
	 *               uVar5 = *(undefined8 *)((long)pvVar7 + 0x58);
	 *               if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0)
	 *               {
	 *                 func_0x031fde08();
	 *               }
	 *               uVar3 = UnityEngine.Object.op_Implicit(uVar5);
	 *               if ((uVar3 & 1) != 0) {
	 *                 if (*(void **)((long)pvVar7 + 0x58) == null) goto LAB_032faf20;
	 *                 UnityEngine.GameObject.SetActive(*(void **)((long)pvVar7 + 0x58),false);
	 *               }
	 *               puVar1 = typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10;
	 *               fVar9 = *(float *)((long)pvVar7 + 0x40);
	 *               *(undefined1 *)((long)pvVar7 + 0x70) = 0;
	 *               pvVar7 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *               UnityEngine.WaitForSeconds..ctor(pvVar7,fVar9);
	 *               this.n_2_current = pvVar7;
	 *               func_0x031fdc38(&this.n_2_current,pvVar7);
	 *               this.n_1_state = 2;
	 *               return true;
	 *             }
	 *           }
	 *         }
	 *       }
	 *     }
	 *   }
	 *   else {
	 *     if (iVar2 != 0) {
	 *       return false;
	 *     }
	 *     this.n_1_state = -1;
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     if (pvVar7 != null) {
	 *       *(undefined2 *)((long)pvVar7 + 0x70) = 0x101;
	 *       uVar5 = *(undefined8 *)((long)pvVar7 + 0x58);
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08(*(long *)puVar1,methodInfo);
	 *       }
	 *       uVar3 = UnityEngine.Object.op_Implicit(uVar5);
	 *       if ((uVar3 & 1) != 0) {
	 *         if (*(void **)((long)pvVar7 + 0x58) == null) goto LAB_032faf20;
	 *         UnityEngine.GameObject.SetActive(*(void **)((long)pvVar7 + 0x58),true);
	 *       }
	 *       uVar5 = *(undefined8 *)((long)pvVar7 + 0x60);
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar3 = UnityEngine.Object.op_Implicit(uVar5);
	 *       if ((uVar3 & 1) != 0) {
	 *         if (*(void **)((long)pvVar7 + 0x60) == null) goto LAB_032faf20;
	 *         UnityEngine.AudioSource.Play(*(void **)((long)pvVar7 + 0x60));
	 *       }
	 *       lVar8 = *(long *)((long)pvVar7 + 0x68);
	 *       if (lVar8 != 0) {
	 *         if (0 < (int)*(ulong *)(lVar8 + 0x18)) {
	 *           uVar3 = 0;
	 *           uVar4 = *(ulong *)(lVar8 + 0x18) & 0xffffffff;
	 *           do {
	 *             if (uVar4 <= uVar3) {
	 * LAB_032faf24:
	 *               IL2CPP.ThrowIndexOutOfRangeException();
	 *             }
	 *             pvVar6 = *(void **)(lVar8 + 0x20 + uVar3 * 8);
	 *             if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             uVar4 = UnityEngine.Object.op_Implicit(pvVar6);
	 *             if ((uVar4 & 1) != 0) {
	 *               if (pvVar6 == null) goto LAB_032faf20;
	 *               UnityEngine.GameObject.SetActive(pvVar6,false);
	 *             }
	 *             uVar4 = (ulong)*(uint *)(lVar8 + 0x18);
	 *             uVar3 = uVar3 + 1;
	 *           } while ((long)uVar3 < (long)(int)*(uint *)(lVar8 + 0x18));
	 *         }
	 *         lVar8 = *(long *)((long)pvVar7 + 0x28);
	 *         iVar2 = UnityEngine.LayerMask.op_Implicit(0);
	 *         if (lVar8 != 0) {
	 *           *(int *)(lVar8 + 0x10c) = iVar2;
	 *           if ((*(long *)((long)pvVar7 + 0x28) != 0) &&
	 *              (pvVar6 = *(void **)(*(long *)((long)pvVar7 + 0x28) + 0x20), pvVar6 != null)) {
	 *             UnityEngine.Collider.set_enabled(pvVar6,false);
	 *             if ((*(long *)((long)pvVar7 + 0x28) != 0) &&
	 *                (pvVar6 = *(void **)(*(long *)((long)pvVar7 + 0x28) + 0x28), pvVar6 != null))
	 *             {
	 *               UnityEngine.Collider.set_enabled(pvVar6,false);
	 *               if (*(void **)((long)pvVar7 + 0x30) != null) {
	 *                 UnityEngine.Rigidbody.set_isKinematic(*(void **)((long)pvVar7 + 0x30),true);
	 *                 pvVar6 = *(void **)((long)pvVar7 + 0x30);
	 *                 if (cRam000000000754a7ce == '\0') {
	 *                   func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *                   cRam000000000754a7ce = '\x01';
	 *                 }
	 *                 if (pvVar6 != null) {
	 *                   UnityEngine.Rigidbody.set_linearVelocity(pvVar6,**(UnityEngine_Vector3 **)
	 *                                       (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08
	 *                                       + 0xb8));
	 *                   if (*(void **)((long)pvVar7 + 0x50) != null) {
	 *                     pvVar6 = *(void **)((long)pvVar7 + 0x20);
	 *                     value = UnityEngine.Transform.get_position(*(void **)((long)pvVar7 + 0x50));
	 *                     if (pvVar6 != null) {
	 *                       UnityEngine.Transform.set_position(pvVar6,value);
	 *                       fVar9 = *(float *)((long)pvVar7 + 0x3c);
	 *                       pvVar7 = (void *)func_0x031fdf24(*(undefined8 *)
	 *
	 *                                                   typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10
	 *                                                   );
	 *                       UnityEngine.WaitForSeconds..ctor(pvVar7,fVar9)
	 *                       ;
	 *                       this.n_2_current = pvVar7;
	 *                       func_0x031fdc38(&this.n_2_current,pvVar7);
	 *                       this.n_1_state = 1;
	 *                       return true;
	 *                     }
	 *                   }
	 *                 }
	 *               }
	 *             }
	 *           }
	 *         }
	 *       }
	 *     }
	 *   }
	 * LAB_032faf20:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31FAF28 VA: 0x78188E5F28
	private object System.Collections.Generic.IEnumerator<System.Object>.get_Current();
	/*
	 *   return this.n_2_current;
	 */
	// RVA: 0x31FAF30 VA: 0x78188E5F30
	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_070c0c50);
	 *   IL2CPP.ThrowManagedException();
	 */
	// RVA: 0x31FAF68 VA: 0x78188E5F68
	private object System.Collections.IEnumerator.get_Current();
	/*
	 *   return this.n_2_current;
	 */
}
