// [TypeInfo RVA: 0x0]
public class KinematicWatcher : MonoBehaviour
{
	public UnityEngine.Rigidbody targetRigidbody; // 0x20
	public System.Collections.Generic.List<UnityEngine.GameObject> objectsToDisable; // 0x28
	public float kinematicTimeout; // 0x30
	private float kinematicTimer; // 0x34

	// RVA: 0x31FA2F8 VA: 0x78188E52F8
	private void Update();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   bool bVar3;
	 *   long lVar4;
	 *   ulong uVar5;
	 *   void *extraout_x1;
	 *   void *pvVar6;
	 *   float fVar7;
	 *   float fVar8;
	 *   undefined8 uStack_48;
	 *   undefined8 uStack_40;
	 *   void *pvStack_38;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a754 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0920);
	 *     func_0x031fdc8c(PTR_DAT_070c0938);
	 *     func_0x031fdc8c(PTR_DAT_070c0948);
	 *     func_0x031fdc8c(PTR_DAT_070c0950);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a754 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   lVar4 = *(long *)puVar1;
	 *   pvVar6 = this.targetRigidbody;
	 *   uStack_48 = 0;
	 *   uStack_40 = 0;
	 *   pvStack_38 = null;
	 *   if (*(int *)(lVar4 + 0xe4) == 0) {
	 *     func_0x031fde08(lVar4,methodInfo);
	 *   }
	 *   uVar5 = UnityEngine.Object.op_Equality(pvVar6,null);
	 *   if ((uVar5 & 1) == 0) {
	 *     if (this.targetRigidbody == null) goto LAB_032fa490;
	 *     bVar3 = UnityEngine.Rigidbody.get_isKinematic(this.targetRigidbody);
	 *     if (bVar3) {
	 *       fVar8 = this.kinematicTimer;
	 *       fVar7 = UnityEngine.Time.get_deltaTime();
	 *       fVar8 = fVar8 + fVar7;
	 *       this.kinematicTimer = fVar8;
	 *       if (fVar8 < this.kinematicTimeout) {
	 *         return;
	 *       }
	 *       if (this.targetRigidbody == null) {
	 * LAB_032fa490:
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *       UnityEngine.Rigidbody.set_isKinematic(this.targetRigidbody,false);
	 *       if (this.objectsToDisable == null) goto LAB_032fa490;
	 *       func_0x03f2e1a8(&uStack_48,this.objectsToDisable,*(undefined8 *)PTR_DAT_070c0950);
	 *       puVar2 = PTR_DAT_070c0938;
	 *       while (uVar5 = func_0x05018cac(&uStack_48,*(undefined8 *)puVar2), pvVar6 = pvStack_38,
	 *             (uVar5 & 1) != 0) {
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar5 = UnityEngine.Object.op_Inequality(pvVar6,null);
	 *         if ((uVar5 & 1) != 0) {
	 *           if (pvVar6 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           UnityEngine.GameObject.SetActive(pvVar6,false);
	 *         }
	 *       }
	 *       func_0x05018ca8(&uStack_48,*(undefined8 *)PTR_DAT_070c0920);
	 *     }
	 *     this.kinematicTimer = 0.0;
	 *   }
	 *   return;
	 */
	// RVA: 0x31FA4FC VA: 0x78188E54FC
	public void .ctor();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   void *pvVar3;
	 *   void *extraout_x1;
	 *
	 *   puVar2 = PTR_DAT_070c09e0;
	 *   puVar1 = PTR_DAT_070c09c8;
	 *   if ((bRam000000000754a755 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c09c8);
	 *     func_0x031fdc8c(PTR_DAT_070c09e0);
	 *     bRam000000000754a755 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   pvVar3 = (void *)func_0x031fdf24(*(undefined8 *)puVar2,methodInfo);
	 *   func_0x03f2ce9c(pvVar3,*(undefined8 *)puVar1);
	 *   this.objectsToDisable = pvVar3;
	 *   func_0x031fdc38(&this.objectsToDisable,pvVar3);
	 *   this.kinematicTimeout = 10.0;
	 *   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;
	 */
}
