// [TypeInfo RVA: 0x0]
public class StartAtTransform : MonoBehaviour
{
	public UnityEngine.Transform startPoint; // 0x20
	public bool useNavMeshWarp; // 0x28
	private UnityEngine.AI.NavMeshAgent agent; // 0x30
	private UnityEngine.Rigidbody rb; // 0x38

	// RVA: 0x321A234 VA: 0x7818905234
	private void Awake();
	/*
	 *   undefined *puVar1;
	 *   void *pvVar2;
	 *   void **ppvVar3;
	 *
	 *   puVar1 = PTR_DAT_070c08f8;
	 *   if ((bRam000000000754a877 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c08f8);
	 *     func_0x031fdc8c(PTR_DAT_070c0c08);
	 *     bRam000000000754a877 = 1;
	 *   }
	 *   pvVar2 = (void *)func_0x0373df50(this,*(undefined8 *)puVar1);
	 *   ppvVar3 = &this.agent;
	 *   *ppvVar3 = pvVar2;
	 *   if (iRam00000000077785f0 != 0) {
	 *     func_0x032ed0c0(1L << ((ulong)ppvVar3 >> 0xc & 0x3f),
	 *                     ((ulong)ppvVar3 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *   }
	 *   return;
	 */
	// RVA: 0x321A2C4 VA: 0x78189052C4
	private void OnEnable();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   ulong uVar3;
	 *   long lVar4;
	 *   undefined8 *puVar5;
	 *   void *extraout_x1;
	 *   undefined8 uVar6;
	 *   undefined8 extraout_x1_00;
	 *   undefined8 extraout_x1_01;
	 *   int *piVar7;
	 *   void *pvVar8;
	 *   long *plVar9;
	 *   UnityEngine_Vector3 value;
	 *   UnityEngine_Vector4 value_00;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a878 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(PTR_DAT_070c2020);
	 *     bRam000000000754a878 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   pvVar8 = this.startPoint;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   uVar3 = UnityEngine.Object.op_Equality(pvVar8,null);
	 *   if ((uVar3 & 1) != 0) {
	 *     pvVar8 = UnityEngine.Component.get_gameObject(this);
	 *     if (pvVar8 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     pvVar8 = UnityEngine.Object.get_name(pvVar8);
	 *     pvVar8 = System.String.Concat(*(void **)PTR_DAT_070c2020,pvVar8);
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     }
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8;
	 *     uVar6 = 0;
	 *     if ((bRam000000000755e09c & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,0);
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40);
	 *       bRam000000000755e09c = 1;
	 *       uVar6 = extraout_x1_00;
	 *     }
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       uVar6 = extraout_x1_01;
	 *     }
	 *     if (cRam000000000755000b == '\0') {
	 *       func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8,uVar6);
	 *       cRam000000000755000b = '\x01';
	 *     }
	 *     lVar4 = *(long *)puVar1;
	 *     if (*(int *)(lVar4 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       lVar4 = *(long *)puVar1;
	 *     }
	 *     plVar9 = *(long **)(*(long *)(lVar4 + 0xb8) + 8);
	 *     if (plVar9 == null) {
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     lVar4 = *plVar9;
	 *     uVar3 = (ulong)*(ushort *)(lVar4 + 0x12e);
	 *     if (uVar3 != 0) {
	 *       piVar7 = (int *)(*(long *)(lVar4 + 0xb0) + 8);
	 *       do {
	 *         if (*(long *)(piVar7 + -2) == *(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40)
	 *         {
	 *           puVar5 = (undefined8 *)(lVar4 + (long)(*piVar7 + 3) * 0x10 + 0x138);
	 *           goto LAB_069357b4;
	 *         }
	 *         uVar3 = uVar3 - 1;
	 *         piVar7 = piVar7 + 4;
	 *       } while (uVar3 != 0);
	 *     }
	 *     puVar5 = (undefined8 *)
	 *              func_0x03237558(plVar9,*(long *)typeinfo_ptr_UnityEngine_CoreModule_ILogger_6FD4B40,3);
	 * LAB_069357b4:
	 *     (*(code *)*puVar5)(plVar9,2,pvVar8,puVar5[1]);
	 *     return;
	 *   }
	 *   if ((bRam000000000754a879 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a879 = 1;
	 *   }
	 *   if (this.startPoint != null) {
	 *     value = UnityEngine.Transform.get_position(this.startPoint);
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     if (this.startPoint != null) {
	 *       value_00 = UnityEngine.Transform.get_rotation(this.startPoint);
	 *       pvVar8 = this.agent;
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar3 = UnityEngine.Object.op_Inequality(pvVar8,null);
	 *       if ((uVar3 & 1) == 0) {
	 *         pvVar8 = this.rb;
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar3 = UnityEngine.Object.op_Inequality(pvVar8,null);
	 *         if ((uVar3 & 1) == 0) {
	 *           pvVar8 = UnityEngine.Component.get_transform(this);
	 *           if (pvVar8 != null) {
	 *             UnityEngine.Transform.set_position(pvVar8,value);
	 *             pvVar8 = UnityEngine.Component.get_transform(this);
	 *             if (pvVar8 != null) {
	 *               if ((bRam000000000755ff1d & 1) == 0) {
	 *                 func_0x031fdc8c(PTR_DAT_0714f6d0,0);
	 *                 bRam000000000755ff1d = 1;
	 *               }
	 *               if (pvVar8 != null) {
	 *                 lVar4 = *(long *)((long)pvVar8 + 0x10);
	 *                 if (lVar4 == 0) {
	 *                   UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar8);
	 *                 }
	 *                 if (pcRam000000000755ff70 == null) {
	 *                   pcRam000000000755ff70 = (code *)func_0x031fdc50(&UNK_013598d0);
	 *                 }
	 *                 (*pcRam000000000755ff70)(lVar4,&stack0xffffffffffffffd0);
	 *                 return;
	 *               }
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *           }
	 *         }
	 *         else {
	 *           pvVar8 = this.rb;
	 *           if (cRam000000000754a7ce == '\0') {
	 *             func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *             cRam000000000754a7ce = '\x01';
	 *           }
	 *           puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08;
	 *           if (pvVar8 != null) {
	 *             UnityEngine.Rigidbody.set_linearVelocity(pvVar8,**(UnityEngine_Vector3 **)
	 *                                 (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8
	 *                                 ));
	 *             pvVar8 = this.rb;
	 *             if (cRam000000000754a7ce == '\0') {
	 *               func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *               cRam000000000754a7ce = '\x01';
	 *             }
	 *             if (pvVar8 != null) {
	 *               UnityEngine.Rigidbody.set_angularVelocity(pvVar8,**(UnityEngine_Vector3 **)(*(long *)puVar1 + 0xb8));
	 *               if (this.rb != null) {
	 *                 UnityEngine.Rigidbody.set_position(this.rb,value);
	 *                 pvVar8 = this.rb;
	 *                 if (pvVar8 != null) {
	 *                   if ((bRam0000000007561ecd & 1) == 0) {
	 *                     func_0x031fdc8c(PTR_DAT_071515f0,0);
	 *                     bRam0000000007561ecd = 1;
	 *                   }
	 *                   if (pvVar8 != null) {
	 *                     lVar4 = *(long *)((long)pvVar8 + 0x10);
	 *                     if (lVar4 == 0) {
	 *                       UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar8);
	 *                     }
	 *                     if (pcRam0000000007561f70 == null) {
	 *                       pcRam0000000007561f70 = (code *)func_0x031fdc50(&UNK_01371322);
	 *                     }
	 *                     (*pcRam0000000007561f70)(lVar4,&stack0xffffffffffffffd0);
	 *                     return;
	 *                   }
	 *                   IL2CPP.ThrowNullReferenceException();
	 *                 }
	 *               }
	 *             }
	 *           }
	 *         }
	 *       }
	 *       else {
	 *         if (this.useNavMeshWarp != false) {
	 *           if (this.agent == null) goto LAB_0331a6b8;
	 *           bVar2 = UnityEngine.AI.NavMeshAgent.get_isOnNavMesh(this.agent);
	 *           if (bVar2) {
	 *             pvVar8 = this.agent;
	 *             if (pvVar8 != null) {
	 *               if ((bRam000000000755cc38 & 1) == 0) {
	 *                 func_0x031fdc8c(PTR_DAT_0714d7a8,0);
	 *                 bRam000000000755cc38 = 1;
	 *               }
	 *               if (pvVar8 != null) {
	 *                 lVar4 = *(long *)((long)pvVar8 + 0x10);
	 *                 if (lVar4 == 0) {
	 *                   UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar8);
	 *                 }
	 *                 if (pcRam000000000755cc88 == null) {
	 *                   pcRam000000000755cc88 = (code *)func_0x031fdc50(&UNK_0137b9b7);
	 *                 }
	 *                 (*pcRam000000000755cc88)(lVar4,&stack0xffffffffffffffd4);
	 *                 return;
	 *               }
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *             goto LAB_0331a6b8;
	 *           }
	 *         }
	 *         if (this.agent != null) {
	 *           UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(this.agent,false);
	 *           pvVar8 = UnityEngine.Component.get_transform(this);
	 *           if (pvVar8 != null) {
	 *             UnityEngine.Transform.set_position(pvVar8,value);
	 *             pvVar8 = UnityEngine.Component.get_transform(this);
	 *             if (pvVar8 != null) {
	 *               UnityEngine.Transform.set_rotation(pvVar8,value_00);
	 *               pvVar8 = this.agent;
	 *               if (pvVar8 != null) {
	 *                 if ((bRam000000000755f745 & 1) == 0) {
	 *                   func_0x031fdc8c(PTR_DAT_0714f3a0,1,0);
	 *                   bRam000000000755f745 = 1;
	 *                 }
	 *                 if (pvVar8 != null) {
	 *                   lVar4 = *(long *)((long)pvVar8 + 0x10);
	 *                   if (lVar4 == 0) {
	 *                     UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar8);
	 *                   }
	 *                   if (pcRam000000000755f750 == null) {
	 *                     pcRam000000000755f750 = (code *)func_0x031fdc50(&UNK_0137c3e0);
	 *                   }
	 *                   (*pcRam000000000755f750)(lVar4,1);
	 *                   return;
	 *                 }
	 *                 IL2CPP.ThrowNullReferenceException();
	 *               }
	 *             }
	 *           }
	 *         }
	 *       }
	 *     }
	 *   }
	 * LAB_0331a6b8:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x321A3B4 VA: 0x78189053B4
	private void MoveToStartPoint();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   ulong uVar3;
	 *   long lVar4;
	 *   void *pvVar5;
	 *   UnityEngine_Vector3 value;
	 *   UnityEngine_Vector4 value_00;
	 *
	 *   if ((bRam000000000754a879 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a879 = 1;
	 *   }
	 *   if (this.startPoint != null) {
	 *     value = UnityEngine.Transform.get_position(this.startPoint);
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     if (this.startPoint != null) {
	 *       value_00 = UnityEngine.Transform.get_rotation(this.startPoint);
	 *       pvVar5 = this.agent;
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar3 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *       if ((uVar3 & 1) == 0) {
	 *         pvVar5 = this.rb;
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar3 = UnityEngine.Object.op_Inequality(pvVar5,null);
	 *         if ((uVar3 & 1) == 0) {
	 *           pvVar5 = UnityEngine.Component.get_transform(this);
	 *           if (pvVar5 != null) {
	 *             UnityEngine.Transform.set_position(pvVar5,value);
	 *             pvVar5 = UnityEngine.Component.get_transform(this);
	 *             if (pvVar5 != null) {
	 *               if ((bRam000000000755ff1d & 1) == 0) {
	 *                 func_0x031fdc8c(PTR_DAT_0714f6d0,0);
	 *                 bRam000000000755ff1d = 1;
	 *               }
	 *               if (pvVar5 != null) {
	 *                 lVar4 = *(long *)((long)pvVar5 + 0x10);
	 *                 if (lVar4 == 0) {
	 *                   UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar5);
	 *                 }
	 *                 if (pcRam000000000755ff70 == null) {
	 *                   pcRam000000000755ff70 = (code *)func_0x031fdc50(&UNK_013598d0);
	 *                 }
	 *                 (*pcRam000000000755ff70)(lVar4,&stack0xffffffffffffffd0);
	 *                 return;
	 *               }
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *           }
	 *         }
	 *         else {
	 *           pvVar5 = this.rb;
	 *           if (cRam000000000754a7ce == '\0') {
	 *             func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *             cRam000000000754a7ce = '\x01';
	 *           }
	 *           puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08;
	 *           if (pvVar5 != null) {
	 *             UnityEngine.Rigidbody.set_linearVelocity(pvVar5,**(UnityEngine_Vector3 **)
	 *                                 (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8
	 *                                 ));
	 *             pvVar5 = this.rb;
	 *             if (cRam000000000754a7ce == '\0') {
	 *               func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *               cRam000000000754a7ce = '\x01';
	 *             }
	 *             if (pvVar5 != null) {
	 *               UnityEngine.Rigidbody.set_angularVelocity(pvVar5,**(UnityEngine_Vector3 **)(*(long *)puVar1 + 0xb8));
	 *               if (this.rb != null) {
	 *                 UnityEngine.Rigidbody.set_position(this.rb,value);
	 *                 pvVar5 = this.rb;
	 *                 if (pvVar5 != null) {
	 *                   if ((bRam0000000007561ecd & 1) == 0) {
	 *                     func_0x031fdc8c(PTR_DAT_071515f0,0);
	 *                     bRam0000000007561ecd = 1;
	 *                   }
	 *                   if (pvVar5 != null) {
	 *                     lVar4 = *(long *)((long)pvVar5 + 0x10);
	 *                     if (lVar4 == 0) {
	 *                       UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar5);
	 *                     }
	 *                     if (pcRam0000000007561f70 == null) {
	 *                       pcRam0000000007561f70 = (code *)func_0x031fdc50(&UNK_01371322);
	 *                     }
	 *                     (*pcRam0000000007561f70)(lVar4,&stack0xffffffffffffffd0);
	 *                     return;
	 *                   }
	 *                   IL2CPP.ThrowNullReferenceException();
	 *                 }
	 *               }
	 *             }
	 *           }
	 *         }
	 *       }
	 *       else {
	 *         if (this.useNavMeshWarp != false) {
	 *           if (this.agent == null) goto LAB_0331a6b8;
	 *           bVar2 = UnityEngine.AI.NavMeshAgent.get_isOnNavMesh(this.agent);
	 *           if (bVar2) {
	 *             pvVar5 = this.agent;
	 *             if (pvVar5 != null) {
	 *               if ((bRam000000000755cc38 & 1) == 0) {
	 *                 func_0x031fdc8c(PTR_DAT_0714d7a8,0);
	 *                 bRam000000000755cc38 = 1;
	 *               }
	 *               if (pvVar5 != null) {
	 *                 lVar4 = *(long *)((long)pvVar5 + 0x10);
	 *                 if (lVar4 == 0) {
	 *                   UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar5);
	 *                 }
	 *                 if (pcRam000000000755cc88 == null) {
	 *                   pcRam000000000755cc88 = (code *)func_0x031fdc50(&UNK_0137b9b7);
	 *                 }
	 *                 (*pcRam000000000755cc88)(lVar4,&stack0xffffffffffffffd4);
	 *                 return;
	 *               }
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *             goto LAB_0331a6b8;
	 *           }
	 *         }
	 *         if (this.agent != null) {
	 *           UnityEngine.InputSystem.OnScreen.OnScreenStick.Behaviour.set_enabled(this.agent,false);
	 *           pvVar5 = UnityEngine.Component.get_transform(this);
	 *           if (pvVar5 != null) {
	 *             UnityEngine.Transform.set_position(pvVar5,value);
	 *             pvVar5 = UnityEngine.Component.get_transform(this);
	 *             if (pvVar5 != null) {
	 *               UnityEngine.Transform.set_rotation(pvVar5,value_00);
	 *               pvVar5 = this.agent;
	 *               if (pvVar5 != null) {
	 *                 if ((bRam000000000755f745 & 1) == 0) {
	 *                   func_0x031fdc8c(PTR_DAT_0714f3a0,1,0);
	 *                   bRam000000000755f745 = 1;
	 *                 }
	 *                 if (pvVar5 != null) {
	 *                   lVar4 = *(long *)((long)pvVar5 + 0x10);
	 *                   if (lVar4 == 0) {
	 *                     UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar5);
	 *                   }
	 *                   if (pcRam000000000755f750 == null) {
	 *                     pcRam000000000755f750 = (code *)func_0x031fdc50(&UNK_0137c3e0);
	 *                   }
	 *                   (*pcRam000000000755f750)(lVar4,1);
	 *                   return;
	 *                 }
	 *                 IL2CPP.ThrowNullReferenceException();
	 *               }
	 *             }
	 *           }
	 *         }
	 *       }
	 *     }
	 *   }
	 * LAB_0331a6b8:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x321A6BC VA: 0x78189056BC
	public void .ctor();
	/*
	 *   undefined *puVar1;
	 *
	 *   this.useNavMeshWarp = true;
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000755f76f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *     bRam000000000755f76f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   return;
	 */
}
