// [TypeInfo RVA: 0x0]
public class SemicircleAligner : MonoBehaviour
{
	public UnityEngine.Transform rayOrigin; // 0x20
	public float rayDistance; // 0x28
	public int rayCount; // 0x2C
	public float arcAngle; // 0x30
	public float originOffset; // 0x34
	public UnityEngine.LayerMask layerMask; // 0x38
	public UnityEngine.QueryTriggerInteraction queryTrigger; // 0x3C
	public bool requireAtLeastTwoHits; // 0x40
	public float wallOffset; // 0x44
	public bool alignParallelToWall; // 0x48
	public bool snapYawTo90; // 0x49
	public bool keepWorldUp; // 0x4A
	public bool performOnEnable; // 0x4B
	public float waitSecondsOnEnable; // 0x4C
	public bool drawDebug; // 0x50
	public UnityEngine.Color debugRayMissColor; // 0x54
	public UnityEngine.Color debugRayHitColor; // 0x64
	public UnityEngine.Color debugMidColor; // 0x74
	public float debugDuration; // 0x84
	private UnityEngine.Collider[] selfColliders; // 0x88

	// RVA: 0x3222138 VA: 0x781890D138
	private void Awake();
	/*
	 *   undefined *puVar1;
	 *   void **ppvVar2;
	 *   ulong uVar3;
	 *   void *extraout_x1;
	 *   void *pvVar4;
	 *   undefined8 unaff_x30;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a8d0 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c25f0);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a8d0 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   ppvVar2 = &this.rayOrigin;
	 *   pvVar4 = *ppvVar2;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   puVar1 = PTR_DAT_070c25f0;
	 *   uVar3 = UnityEngine.Object.op_Equality(pvVar4,null);
	 *   if ((uVar3 & 1) == 0) {
	 *     pvVar4 = (void *)func_0x0373ea74(this,1,*(undefined8 *)puVar1);
	 *     ppvVar2 = &this.selfColliders;
	 *     *ppvVar2 = pvVar4;
	 *   }
	 *   else {
	 *     pvVar4 = UnityEngine.Component.get_transform(this);
	 *     this.rayOrigin = pvVar4;
	 *     unaff_x30 = 0x33221cc;
	 *     register0x00000008 = (BADSPACEBASE *)&stack0xffffffffffffffd0;
	 *   }
	 *   if (iRam00000000077785f0 != 0) {
	 *     *(undefined8 *)((long)register0x00000008 + -0x10) = unaff_x30;
	 *     func_0x032ed0c0(1L << ((ulong)ppvVar2 >> 0xc & 0x3f),
	 *                     ((ulong)ppvVar2 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *   }
	 *   return;
	 */
	// RVA: 0x32221F8 VA: 0x781890D1F8
	private void OnEnable();
	/*
	 *   void *pvVar1;
	 *   ulong uVar2;
	 *   void *this_00;
	 *   undefined8 uVar3;
	 *   long lVar4;
	 *
	 *   if (this.performOnEnable == false) {
	 *     return;
	 *   }
	 *   pvVar1 = SemicircleAligner.AlignOnEnableRoutine(this);
	 *   if (pvVar1 == null) {
	 *     func_0x031fdca0(PTR_DAT_070c9118,0,0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
	 *     NullReferenceException..ctor(this_00,pvVar1);
	 *   }
	 *   else {
	 *     uVar2 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
	 *     if ((uVar2 & 1) != 0) {
	 *       if ((bRam000000000755f8f7 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714f590);
	 *         bRam000000000755f8f7 = 1;
	 *       }
	 *       if (this != null) {
	 *         lVar4 = *(long *)&this.field_0x10;
	 *         if (lVar4 == 0) {
	 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(this)
	 *           ;
	 *         }
	 *         if (pcRam000000000755f968 == null) {
	 *           pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
	 *         }
	 *         (*pcRam000000000755f968)(lVar4,pvVar1);
	 *         return;
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     func_0x031fdca0(PTR_DAT_070c6fb0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
	 *     System.ArgumentException..ctor(this_00,pvVar1);
	 *   }
	 *   uVar3 = func_0x031fdca0(PTR_DAT_0714f5d0);
	 *   IL2CPP.ThrowManagedException();
	 */
	// RVA: 0x3222224 VA: 0x781890D224
	private System.Collections.IEnumerator AlignOnEnableRoutine();
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *   void *extraout_x1;
	 *
	 *   puVar1 = PTR_DAT_070c25f8;
	 *   if ((bRam000000000754a8d1 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c25f8);
	 *     bRam000000000754a8d1 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1,methodInfo);
	 *   System.Object..ctor(this_00);
	 *   *(undefined4 *)((long)this_00 + 0x10) = 0;
	 *   *(undefined8 *)((long)this_00 + 0x20) = this;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x20),this);
	 *   return this_00;
	 */
	// RVA: 0x32222B8 VA: 0x781890D2B8
	public bool AlignNow();
	/*
	 *   int iVar1;
	 *   char cVar2;
	 *   uint uVar3;
	 *   UnityEngine_Color UVar4;
	 *   undefined *puVar5;
	 *   undefined *puVar6;
	 *   undefined *puVar7;
	 *   undefined *puVar8;
	 *   int iVar9;
	 *   ulong uVar10;
	 *   long lVar11;
	 *   undefined8 uVar12;
	 *   long lVar13;
	 *   long *plVar14;
	 *   void *extraout_x1;
	 *   undefined8 *puVar15;
	 *   float *pfVar16;
	 *   void *pvVar17;
	 *   void **ppvVar18;
	 *   long lVar19;
	 *   void *pvVar20;
	 *   int iVar21;
	 *   float fVar22;
	 *   double dVar23;
	 *   float fVar24;
	 *   float fVar25;
	 *   float in_s7;
	 *   float fVar26;
	 *   float fVar27;
	 *   float fVar28;
	 *   float fVar29;
	 *   float fVar30;
	 *   float fVar31;
	 *   float fVar32;
	 *   float fVar33;
	 *   undefined8 uVar34;
	 *   float fVar35;
	 *   float fVar36;
	 *   float fVar37;
	 *   float fVar38;
	 *   UnityEngine_Vector3 UVar39;
	 *   UnityEngine_Vector3 UVar40;
	 *   UnityEngine_Vector3 UVar41;
	 *   UnityEngine_Vector3 UVar42;
	 *   UnityEngine_Vector3 forward;
	 *   UnityEngine_Vector3 euler;
	 *   UnityEngine_Vector3 euler_00;
	 *   UnityEngine_Vector4 UVar43;
	 *   UnityEngine_Vector3 upwards;
	 *   UnityEngine_Vector3 dir;
	 *   float fStack_1d4;
	 *   undefined4 uStack_1c4;
	 *   double dStack_1c0;
	 *   undefined8 uStack_1b8;
	 *   undefined8 uStack_1b0;
	 *   undefined4 uStack_1a8;
	 *   undefined4 uStack_1a4;
	 *   undefined4 uStack_1a0;
	 *   undefined8 uStack_19c;
	 *   double dStack_190;
	 *   undefined8 uStack_188;
	 *   undefined8 uStack_180;
	 *   undefined8 uStack_178;
	 *   undefined8 uStack_170;
	 *   undefined8 uStack_168;
	 *   double dStack_160;
	 *   undefined8 uStack_158;
	 *   undefined8 uStack_150;
	 *   undefined8 uStack_148;
	 *   undefined8 uStack_140;
	 *   undefined8 uStack_138;
	 *   double dStack_130;
	 *   undefined8 uStack_128;
	 *   undefined8 uStack_120;
	 *   undefined8 uStack_118;
	 *   undefined8 uStack_110;
	 *   undefined8 uStack_108;
	 *   double dStack_100;
	 *   undefined8 uStack_f8;
	 *   undefined8 uStack_f0;
	 *   undefined8 uStack_e8;
	 *   undefined8 uStack_e0;
	 *   undefined8 uStack_d8;
	 *   undefined8 uStack_d0;
	 *   undefined8 uStack_c8;
	 *   undefined8 uStack_c0;
	 *   undefined4 uStack_b8;
	 *   undefined4 uStack_b4;
	 *   undefined4 uStack_b0;
	 *   undefined4 uStack_ac;
	 *   undefined4 uStack_a8;
	 *   undefined4 uStack_a4;
	 *
	 *   puVar5 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a8d2 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c2600);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(PTR_DAT_070c2608);
	 *     func_0x031fdc8c(PTR_DAT_070c2610);
	 *     func_0x031fdc8c(PTR_DAT_070c2618);
	 *     func_0x031fdc8c(PTR_DAT_070c2620);
	 *     func_0x031fdc8c(PTR_DAT_070c2628);
	 *     func_0x031fdc8c(PTR_DAT_070c2630);
	 *     func_0x031fdc8c(PTR_DAT_070c2638);
	 *     func_0x031fdc8c(PTR_DAT_070c2640);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_PhysicsModule_Physics_6FC09E8);
	 *     func_0x031fdc8c(PTR_DAT_070c2648);
	 *     func_0x031fdc8c(PTR_DAT_070c2650);
	 *     func_0x031fdc8c(PTR_DAT_070c2658);
	 *     func_0x031fdc8c(PTR_DAT_070c2660);
	 *     func_0x031fdc8c(PTR_DAT_070c2668);
	 *     func_0x031fdc8c(PTR_DAT_070c2670);
	 *     func_0x031fdc8c(PTR_DAT_070c2678);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *     func_0x031fdc8c(PTR_DAT_070c2680);
	 *     func_0x031fdc8c(PTR_DAT_070c2688);
	 *     func_0x031fdc8c(PTR_DAT_070c2690);
	 *     bRam000000000754a8d2 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   ppvVar18 = &this.rayOrigin;
	 *   pvVar17 = *ppvVar18;
	 *   uStack_138 = 0;
	 *   uStack_140 = 0;
	 *   uStack_128 = 0;
	 *   dStack_130 = 0.0;
	 *   uStack_118 = 0;
	 *   uStack_120 = 0;
	 *   uStack_108 = 0;
	 *   uStack_110 = 0;
	 *   uStack_158 = 0;
	 *   dStack_160 = 0.0;
	 *   uStack_148 = 0;
	 *   uStack_150 = 0;
	 *   if (*(int *)(*(long *)puVar5 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar5,methodInfo);
	 *   }
	 *   uVar10 = UnityEngine.Object.op_Equality(pvVar17,null);
	 *   if ((uVar10 & 1) != 0) {
	 *     pvVar17 = UnityEngine.Component.get_transform(this);
	 *     this.rayOrigin = pvVar17;
	 *     func_0x031fdc38(ppvVar18,pvVar17);
	 *   }
	 *   fVar26 = this.arcAngle;
	 *   fStack_1d4 = 0.0;
	 *   if (1 < this.rayCount) {
	 *     fStack_1d4 = fVar26 / (float)(this.rayCount + -1);
	 *   }
	 *   if (*ppvVar18 == null) goto LAB_03323664;
	 *   UVar39 = UnityEngine.Transform.get_position(*ppvVar18);
	 *   puVar6 = PTR_DAT_070c2640;
	 *   puVar5 = PTR_DAT_070c2630;
	 *   fVar30 = UVar39.z;
	 *   fVar28 = UVar39.y;
	 *   fVar31 = UVar39.x;
	 *   if (*ppvVar18 == null) goto LAB_03323664;
	 *   UVar39 = UnityEngine.Transform.get_up(*ppvVar18);
	 *   lVar11 = func_0x031fdf24(*(undefined8 *)puVar6);
	 *   func_0x03e3df7c(lVar11,*(undefined8 *)puVar5);
	 *   puVar5 = typeinfo_ptr_mscorlib_Math_6FC0738;
	 *   fVar27 = _UNK_0134eeec;
	 *   if (0 < this.rayCount) {
	 *     iVar21 = 0;
	 *     do {
	 *       pvVar17 = (void *)func_0x031fdf24(*(undefined8 *)PTR_DAT_070c2668);
	 *       System.Object..ctor(pvVar17);
	 *       fVar35 = fStack_1d4 * (float)iVar21 - fVar26 * 0.5;
	 *       UVar43 = UnityEngine.Quaternion.AngleAxis(fVar35,UVar39);
	 *       if (*ppvVar18 == null) goto LAB_03323664;
	 *       UVar40 = UnityEngine.Transform.get_forward(*ppvVar18);
	 *       UVar40 = UnityEngine.Quaternion.op_Multiply(UVar43,UVar40);
	 *       fVar25 = UVar40.z;
	 *       fVar24 = UVar40.y;
	 *       fVar22 = UVar40.x;
	 *       if (cRam000000000754a7cc == '\0') {
	 *         func_0x031fdc8c(puVar5);
	 *         cRam000000000754a7cc = '\x01';
	 *       }
	 *       if (*(int *)(*(long *)puVar5 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       fVar32 = SQRT(fVar25 * fVar25 + fVar22 * fVar22 + fVar24 * fVar24);
	 *       if (fVar32 <= fVar27) {
	 *         if (cRam000000000754a7ce == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *           cRam000000000754a7ce = '\x01';
	 *         }
	 *         pfVar16 = *(float **)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *         fVar37 = *pfVar16;
	 *         fVar38 = pfVar16[1];
	 *         fVar29 = pfVar16[2];
	 *       }
	 *       else {
	 *         fVar37 = fVar22 / fVar32;
	 *         fVar38 = fVar24 / fVar32;
	 *         fVar29 = fVar25 / fVar32;
	 *       }
	 *       if (pvVar17 == null) goto LAB_03323664;
	 *       fVar33 = this.originOffset;
	 *       fVar36 = this.rayDistance;
	 *       iVar9 = UnityEngine.LayerMask.op_Implicit(this.layerMask);
	 *       iVar1 = this.queryTrigger;
	 *       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_PhysicsModule_Physics_6FC09E8 + 0xe4) == 0) {
	 *         func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_PhysicsModule_Physics_6FC09E8);
	 *       }
	 *       fVar37 = fVar31 + fVar37 * fVar33;
	 *       fVar38 = fVar28 + fVar38 * fVar33;
	 *       fVar29 = fVar30 + fVar29 * fVar33;
	 *       uVar10 = Physics.Raycast(fVar37,fVar38,fVar29,fVar22,fVar24,fVar25,fVar36,(long)pvVar17 + 0x10,iVar9,iVar1,0);
	 *       if ((uVar10 & 1) == 0) {
	 * LAB_03322744:
	 *         if (this.drawDebug != false) {
	 *           if (cRam000000000754a7cc == '\0') {
	 *             func_0x031fdc8c(puVar5);
	 *             cRam000000000754a7cc = '\x01';
	 *           }
	 *           if (*(int *)(*(long *)puVar5 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           if (fVar32 <= fVar27) {
	 *             if (cRam000000000754a7ce == '\0') {
	 *               func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *               cRam000000000754a7ce = '\x01';
	 *             }
	 *             pfVar16 = *(float **)
	 *                        (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *             fVar22 = *pfVar16;
	 *             fVar24 = pfVar16[1];
	 *             fVar25 = pfVar16[2];
	 *           }
	 *           else {
	 *             fVar22 = fVar22 / fVar32;
	 *             fVar24 = fVar24 / fVar32;
	 *             fVar25 = fVar25 / fVar32;
	 *           }
	 *           fVar32 = this.rayDistance;
	 *           uVar12._0_4_ = (this.debugRayMissColor).r;
	 *           uVar12._4_4_ = (this.debugRayMissColor).g;
	 *           uVar34._0_4_ = (this.debugRayMissColor).b;
	 *           uVar34._4_4_ = (this.debugRayMissColor).a;
	 *           iVar1 = *(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4);
	 *           fVar35 = fVar37 + fVar22 * fVar32;
	 *           fVar22 = fVar38 + fVar24 * fVar32;
	 *           fVar24 = fVar29 + fVar25 * fVar32;
	 *           goto joined_r0x033228cc;
	 *         }
	 *       }
	 *       else {
	 *         pvVar20 = this.selfColliders;
	 *         if (pvVar20 != null) {
	 *           uVar12 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c2648);
	 *           func_0x043e7f38(uVar12,pvVar17,*(undefined8 *)PTR_DAT_070c2660,0);
	 *           uVar10 = func_0x03a367c4(pvVar20,uVar12,*(undefined8 *)PTR_DAT_070c2600);
	 *           if ((uVar10 & 1) != 0) goto LAB_03322744;
	 *         }
	 *         uStack_19c = *(undefined8 *)((long)pvVar17 + 0x34);
	 *         uStack_1b8 = *(undefined8 *)((long)pvVar17 + 0x18);
	 *         dStack_1c0 = *(double *)((long)pvVar17 + 0x10);
	 *         uStack_1b0 = *(undefined8 *)((long)pvVar17 + 0x20);
	 *         uStack_1a0 = (undefined4)((ulong)*(undefined8 *)((long)pvVar17 + 0x2c) >> 0x20);
	 *         uStack_1a8 = (undefined4)*(undefined8 *)((long)pvVar17 + 0x28);
	 *         uStack_1a4 = (undefined4)((ulong)*(undefined8 *)((long)pvVar17 + 0x28) >> 0x20);
	 *         uStack_178 = 0;
	 *         uStack_180 = 0;
	 *         uStack_168 = 0;
	 *         uStack_170 = 0;
	 *         uStack_188 = 0;
	 *         dStack_190 = 0.0;
	 *         uStack_ac = (undefined4)uStack_19c;
	 *         uStack_a8 = (undefined4)((ulong)uStack_19c >> 0x20);
	 *         uStack_b4 = uStack_1a4;
	 *         uStack_b0 = uStack_1a0;
	 *         uStack_d0 = dStack_1c0;
	 *         uStack_c8 = uStack_1b8;
	 *         uStack_c0 = uStack_1b0;
	 *         uStack_b8 = uStack_1a8;
	 *         func_0x04a0e684(fVar35,&dStack_190,&uStack_d0,*(undefined8 *)PTR_DAT_070c2678);
	 *         puVar6 = PTR_DAT_070c2628;
	 *         if (lVar11 == 0) goto LAB_03323664;
	 *         uStack_e8 = uStack_178;
	 *         uStack_f0 = uStack_180;
	 *         uStack_d8 = uStack_168;
	 *         uStack_e0 = uStack_170;
	 *         lVar13 = *(long *)(lVar11 + 0x10);
	 *         uStack_f8 = uStack_188;
	 *         dStack_100 = dStack_190;
	 *         *(int *)(lVar11 + 0x1c) = *(int *)(lVar11 + 0x1c) + 1;
	 *         if (lVar13 == 0) goto LAB_03323664;
	 *         uVar3 = *(uint *)(lVar11 + 0x18);
	 *         if (uVar3 < *(uint *)(lVar13 + 0x18)) {
	 *           lVar13 = lVar13 + (long)(int)uVar3 * 0x30;
	 *           *(uint *)(lVar11 + 0x18) = uVar3 + 1;
	 *           *(undefined8 *)(lVar13 + 0x28) = uStack_188;
	 *           *(double *)(lVar13 + 0x20) = dStack_190;
	 *           *(undefined8 *)(lVar13 + 0x38) = uStack_178;
	 *           *(undefined8 *)(lVar13 + 0x30) = uStack_180;
	 *           *(undefined8 *)(lVar13 + 0x48) = uStack_168;
	 *           *(undefined8 *)(lVar13 + 0x40) = uStack_170;
	 *         }
	 *         else {
	 *           uStack_c8 = uStack_188;
	 *           uStack_d0 = dStack_190;
	 *           uStack_b8 = (undefined4)uStack_178;
	 *           uStack_b4 = (undefined4)((ulong)uStack_178 >> 0x20);
	 *           uStack_c0 = uStack_180;
	 *           uStack_a8 = (undefined4)uStack_168;
	 *           uStack_a4 = (undefined4)((ulong)uStack_168 >> 0x20);
	 *           uStack_b0 = (undefined4)uStack_170;
	 *           uStack_ac = (undefined4)((ulong)uStack_170 >> 0x20);
	 *           func_0x03e3e884(lVar11,&uStack_d0,
	 *                           *(undefined8 *)
	 *                            (*(long *)(*(long *)(*(long *)puVar6 + 0x20) + 0xc0) + 0x70));
	 *         }
	 *         if (this.drawDebug != false) {
	 *           UVar40 = UnityEngine.RaycastHit.get_point((void *)((long)pvVar17 + 0x10));
	 *           fVar24 = UVar40.z;
	 *           fVar22 = UVar40.y;
	 *           fVar35 = UVar40.x;
	 *           uVar12._0_4_ = (this.debugRayHitColor).r;
	 *           uVar12._4_4_ = (this.debugRayHitColor).g;
	 *           uVar34._0_4_ = (this.debugRayHitColor).b;
	 *           uVar34._4_4_ = (this.debugRayHitColor).a;
	 *           iVar1 = *(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4);
	 * joined_r0x033228cc:
	 *           if (iVar1 == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           UVar4.b = (float)(int)uVar34;
	 *           UVar4.r = (float)(int)uVar12;
	 *           UVar4.g = (float)(int)((ulong)uVar12 >> 0x20);
	 *           UVar4.a = (float)((ulong)uVar34 >> 0x20);
	 *           UVar40.y = fVar38;
	 *           UVar40.x = fVar37;
	 *           UVar40.z = fVar29;
	 *           UVar41.y = fVar22;
	 *           UVar41.x = fVar35;
	 *           UVar41.z = fVar24;
	 *           UnityEngine.Debug.DrawLine(UVar40,UVar41,UVar4,in_s7);
	 *         }
	 *       }
	 *       iVar21 = iVar21 + 1;
	 *     } while (iVar21 < this.rayCount);
	 *   }
	 *   puVar5 = PTR_DAT_070c2670;
	 *   if (lVar11 == 0) goto LAB_03323664;
	 *   if ((*(int *)(lVar11 + 0x18) < 2) && (this.requireAtLeastTwoHits != false)) {
	 *     if (this.drawDebug == false) {
	 *       return false;
	 *     }
	 *     uStack_d0 = (double)CONCAT44(uStack_d0._4_4_,*(int *)(lVar11 + 0x18));
	 *     pvVar17 = (void *)func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&uStack_d0);
	 *     pvVar17 = System.String.Format(*(void **)PTR_DAT_070c2680,pvVar17);
	 *     if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     }
	 *     goto LAB_03322c18;
	 *   }
	 *   lVar13 = *(long *)PTR_DAT_070c2670;
	 *   if (*(int *)(lVar13 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *     lVar13 = *(long *)puVar5;
	 *   }
	 *   puVar8 = PTR_DAT_070c2618;
	 *   puVar7 = PTR_DAT_070c2608;
	 *   puVar6 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   puVar15 = *(undefined8 **)(lVar13 + 0xb8);
	 *   lVar19 = puVar15[1];
	 *   if (lVar19 == 0) {
	 *     if (*(int *)(lVar13 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       puVar15 = *(undefined8 **)(*(long *)puVar5 + 0xb8);
	 *     }
	 *     uVar12 = *puVar15;
	 *     lVar19 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c2620);
	 *     func_0x052e9a4c(lVar19,uVar12,*(undefined8 *)PTR_DAT_070c2650,0);
	 *     plVar14 = (long *)(*(long *)(*(long *)puVar5 + 0xb8) + 8);
	 *     *plVar14 = lVar19;
	 *     func_0x031fdc38(plVar14,lVar19);
	 *   }
	 *   uVar12 = func_0x03788e9c(lVar11,lVar19,*(undefined8 *)puVar8);
	 *   func_0x03783b0c(&uStack_d0,uVar12,*(undefined8 *)puVar7);
	 *   lVar13 = *(long *)puVar5;
	 *   uStack_118 = CONCAT44(uStack_b4,uStack_b8);
	 *   uStack_108 = CONCAT44(uStack_a4,uStack_a8);
	 *   uStack_110 = CONCAT44(uStack_ac,uStack_b0);
	 *   uStack_128 = uStack_c8;
	 *   dStack_130 = uStack_d0;
	 *   uStack_120 = uStack_c0;
	 *   if (*(int *)(lVar13 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *     lVar13 = *(long *)puVar5;
	 *   }
	 *   puVar8 = PTR_DAT_070c2610;
	 *   puVar15 = *(undefined8 **)(lVar13 + 0xb8);
	 *   lVar19 = puVar15[2];
	 *   if (lVar19 == 0) {
	 *     if (*(int *)(lVar13 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *       puVar15 = *(undefined8 **)(*(long *)puVar5 + 0xb8);
	 *     }
	 *     uVar12 = *puVar15;
	 *     lVar19 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c2620);
	 *     func_0x052e9a4c(lVar19,uVar12,*(undefined8 *)PTR_DAT_070c2658,0);
	 *     plVar14 = (long *)(*(long *)(*(long *)puVar5 + 0xb8) + 0x10);
	 *     *plVar14 = lVar19;
	 *     func_0x031fdc38(plVar14,lVar19);
	 *   }
	 *   uVar12 = func_0x037894dc(lVar11,lVar19,*(undefined8 *)puVar8);
	 *   func_0x03783b0c(&uStack_d0,uVar12,*(undefined8 *)puVar7);
	 *   uStack_148 = CONCAT44(uStack_b4,uStack_b8);
	 *   uStack_138 = CONCAT44(uStack_a4,uStack_a8);
	 *   uStack_140 = CONCAT44(uStack_ac,uStack_b0);
	 *   uStack_158 = uStack_c8;
	 *   dStack_160 = uStack_d0;
	 *   uStack_150 = uStack_c0;
	 *   pvVar17 = UnityEngine.RaycastHit.get_collider((void *)((ulong)&dStack_130 | 4));
	 *   lVar13 = *(long *)puVar6;
	 *   if (*(int *)(lVar13 + 0xe4) == 0) {
	 *     func_0x031fde08(lVar13);
	 *   }
	 *   uVar10 = UnityEngine.Object.op_Equality(pvVar17,null);
	 *   if ((uVar10 & 1) == 0) {
	 *     pvVar17 = UnityEngine.RaycastHit.get_collider((void *)((ulong)&dStack_160 | 4));
	 *     lVar13 = *(long *)puVar6;
	 *     if (*(int *)(lVar13 + 0xe4) == 0) {
	 *       func_0x031fde08(lVar13);
	 *     }
	 *     uVar10 = UnityEngine.Object.op_Equality(pvVar17,null);
	 *     if ((uVar10 & 1) == 0) {
	 *       UVar39 = UnityEngine.RaycastHit.get_point((void *)((ulong)&dStack_130 | 4));
	 *       UVar40 = UnityEngine.RaycastHit.get_point((void *)((ulong)&dStack_160 | 4));
	 *       UVar41 = UnityEngine.RaycastHit.get_normal((void *)((ulong)&dStack_130 | 4));
	 *       UVar42 = UnityEngine.RaycastHit.get_normal((void *)((ulong)&dStack_160 | 4));
	 *       if (cRam000000000754a7cc == '\0') {
	 *         func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *         cRam000000000754a7cc = '\x01';
	 *       }
	 *       puVar5 = typeinfo_ptr_mscorlib_Math_6FC0738;
	 *       fVar26 = UVar41.x + UVar42.x;
	 *       fVar27 = UVar41.y + UVar42.y;
	 *       fVar35 = UVar41.z + UVar42.z;
	 *       if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Math_6FC0738 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       fVar22 = _UNK_0134eeec;
	 *       fVar24 = SQRT(fVar35 * fVar35 + fVar26 * fVar26 + fVar27 * fVar27);
	 *       if (fVar24 <= _UNK_0134eeec) {
	 *         if (cRam000000000754a7ce == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *           cRam000000000754a7ce = '\x01';
	 *         }
	 *         pfVar16 = *(float **)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *         fVar26 = *pfVar16;
	 *         fVar27 = pfVar16[1];
	 *         fVar35 = pfVar16[2];
	 *       }
	 *       else {
	 *         fVar26 = fVar26 / fVar24;
	 *         fVar27 = fVar27 / fVar24;
	 *         fVar35 = fVar35 / fVar24;
	 *       }
	 *       fVar24 = _UNK_0134ed90;
	 *       if (fVar26 * fVar26 + fVar27 * fVar27 + fVar35 * fVar35 < _UNK_0134ed90) {
	 *         UVar41 = UnityEngine.RaycastHit.get_normal((void *)((ulong)&dStack_130 | 4));
	 *         fVar35 = UVar41.z;
	 *         fVar27 = UVar41.y;
	 *         fVar26 = UVar41.x;
	 *       }
	 *       if (cRam000000000754a7cc == '\0') {
	 *         func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *         cRam000000000754a7cc = '\x01';
	 *       }
	 *       fVar25 = UVar40.x - UVar39.x;
	 *       fVar32 = UVar40.y - UVar39.y;
	 *       fVar29 = UVar40.z - UVar39.z;
	 *       if (*(int *)(*(long *)puVar5 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       fVar37 = SQRT(fVar29 * fVar29 + fVar25 * fVar25 + fVar32 * fVar32);
	 *       if (fVar37 <= fVar22) {
	 *         if (cRam000000000754a7ce == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *           cRam000000000754a7ce = '\x01';
	 *         }
	 *         pfVar16 = *(float **)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *         fVar25 = *pfVar16;
	 *         fVar32 = pfVar16[1];
	 *         fVar29 = pfVar16[2];
	 *       }
	 *       else {
	 *         fVar25 = fVar25 / fVar37;
	 *         fVar32 = fVar32 / fVar37;
	 *         fVar29 = fVar29 / fVar37;
	 *       }
	 *       if (cRam000000000754a95d == '\0') {
	 *         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Mathf_6FC2698);
	 *         cRam000000000754a95d = '\x01';
	 *       }
	 *       fVar37 = fVar35 * fVar35 + fVar26 * fVar26 + fVar27 * fVar27;
	 *       if (**(float **)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Mathf_6FC2698 + 0xb8) <= fVar37)
	 *       {
	 *         fVar38 = fVar35 * fVar29 + fVar26 * fVar25 + fVar27 * fVar32;
	 *         fVar25 = fVar25 - (fVar26 * fVar38) / fVar37;
	 *         fVar32 = fVar32 - (fVar27 * fVar38) / fVar37;
	 *         fVar29 = fVar29 - (fVar35 * fVar38) / fVar37;
	 *       }
	 *       if (cRam000000000754a7cc == '\0') {
	 *         func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *         cRam000000000754a7cc = '\x01';
	 *       }
	 *       if (*(int *)(*(long *)puVar5 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       fVar37 = SQRT(fVar29 * fVar29 + fVar25 * fVar25 + fVar32 * fVar32);
	 *       if (fVar37 <= fVar22) {
	 *         if (cRam000000000754a7ce == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *           cRam000000000754a7ce = '\x01';
	 *         }
	 *         pfVar16 = *(float **)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *         fVar25 = *pfVar16;
	 *         fVar32 = pfVar16[1];
	 *         fVar29 = pfVar16[2];
	 *       }
	 *       else {
	 *         fVar25 = fVar25 / fVar37;
	 *         fVar32 = fVar32 / fVar37;
	 *         fVar29 = fVar29 / fVar37;
	 *       }
	 *       if (fVar25 * fVar25 + fVar32 * fVar32 + fVar29 * fVar29 < fVar24) {
	 *         if (cRam000000000754a7cb == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *           cRam000000000754a7cb = '\x01';
	 *         }
	 *         puVar6 = typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08;
	 *         lVar13 = *(long *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *         fVar25 = fVar27 * *(float *)(lVar13 + 0x20) - fVar35 * *(float *)(lVar13 + 0x1c);
	 *         fVar32 = fVar35 * *(float *)(lVar13 + 0x18) - fVar26 * *(float *)(lVar13 + 0x20);
	 *         fVar29 = fVar26 * *(float *)(lVar13 + 0x1c) - fVar27 * *(float *)(lVar13 + 0x18);
	 *         if (fVar29 * fVar29 + fVar25 * fVar25 + fVar32 * fVar32 < fVar24) {
	 *           if (cRam000000000754a89b == '\0') {
	 *             func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *             cRam000000000754a89b = '\x01';
	 *             lVar13 = *(long *)(*(long *)puVar6 + 0xb8);
	 *           }
	 *           fVar25 = fVar27 * *(float *)(lVar13 + 0x50) - fVar35 * *(float *)(lVar13 + 0x4c);
	 *           fVar32 = fVar35 * *(float *)(lVar13 + 0x48) - fVar26 * *(float *)(lVar13 + 0x50);
	 *           fVar29 = fVar26 * *(float *)(lVar13 + 0x4c) - fVar27 * *(float *)(lVar13 + 0x48);
	 *         }
	 *         if (cRam000000000754a7cc == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *           cRam000000000754a7cc = '\x01';
	 *         }
	 *         if (*(int *)(*(long *)puVar5 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         fVar37 = SQRT(fVar29 * fVar29 + fVar25 * fVar25 + fVar32 * fVar32);
	 *         if (fVar37 <= fVar22) {
	 *           if (cRam000000000754a7ce == '\0') {
	 *             func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *             cRam000000000754a7ce = '\x01';
	 *           }
	 *           pfVar16 = *(float **)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8)
	 *           ;
	 *           fVar25 = *pfVar16;
	 *           fVar32 = pfVar16[1];
	 *           fVar29 = pfVar16[2];
	 *         }
	 *         else {
	 *           fVar25 = fVar25 / fVar37;
	 *           fVar32 = fVar32 / fVar37;
	 *           fVar29 = fVar29 / fVar37;
	 *         }
	 *       }
	 *       fVar37 = this.wallOffset;
	 *       pvVar17 = UnityEngine.Component.get_transform(this);
	 *       if (pvVar17 == null) goto LAB_03323664;
	 *       UVar42.x = (UVar39.x + UVar40.x) * 0.5;
	 *       UVar42.y = (UVar39.y + UVar40.y) * 0.5;
	 *       fVar38 = (UVar39.z + UVar40.z) * 0.5;
	 *       UVar39.x = UVar42.x + fVar26 * fVar37;
	 *       fVar33 = fVar38 + fVar35 * fVar37;
	 *       UVar39.y = UVar42.y + fVar27 * fVar37;
	 *       UVar39.z = fVar33;
	 *       UnityEngine.Transform.set_position(pvVar17,UVar39);
	 *       if (this.alignParallelToWall == false) {
	 *         pvVar17 = UnityEngine.Component.get_transform(this);
	 *         if (pvVar17 == null) goto LAB_03323664;
	 *         UVar40 = UnityEngine.Transform.get_position(pvVar17);
	 *         fVar25 = UVar40.x - fVar31;
	 *         fVar32 = UVar40.y - fVar28;
	 *         fVar29 = UVar40.z - fVar30;
	 *         if (fVar29 * fVar29 + fVar25 * fVar25 + fVar32 * fVar32 <= fVar24) {
	 *           if (*ppvVar18 == null) goto LAB_03323664;
	 *           UVar40 = UnityEngine.Transform.get_forward(*ppvVar18);
	 *           fVar29 = UVar40.z;
	 *           fVar32 = UVar40.y;
	 *           fVar25 = UVar40.x;
	 *         }
	 *         else {
	 *           pvVar17 = UnityEngine.Component.get_transform(this);
	 *           if (pvVar17 == null) goto LAB_03323664;
	 *           UVar40 = UnityEngine.Transform.get_position(pvVar17);
	 *           if (cRam000000000754a7cc == '\0') {
	 *             func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *             cRam000000000754a7cc = '\x01';
	 *           }
	 *           fVar28 = UVar40.y - fVar28;
	 *           fVar31 = UVar40.x - fVar31;
	 *           fVar30 = UVar40.z - fVar30;
	 *           if (*(int *)(*(long *)puVar5 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           fVar29 = SQRT(fVar30 * fVar30 + fVar31 * fVar31 + fVar28 * fVar28);
	 *           if (fVar29 <= fVar22) {
	 *             if (cRam000000000754a7ce == '\0') {
	 *               func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *               cRam000000000754a7ce = '\x01';
	 *             }
	 *             pfVar16 = *(float **)
	 *                        (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *             fVar25 = *pfVar16;
	 *             fVar32 = pfVar16[1];
	 *             fVar29 = pfVar16[2];
	 *           }
	 *           else {
	 *             fVar25 = fVar31 / fVar29;
	 *             fVar32 = fVar28 / fVar29;
	 *             fVar29 = fVar30 / fVar29;
	 *           }
	 *         }
	 *         cVar2 = this.keepWorldUp;
	 *       }
	 *       else {
	 *         cVar2 = this.keepWorldUp;
	 *       }
	 *       fVar31 = fVar26;
	 *       fVar28 = fVar27;
	 *       fVar30 = fVar35;
	 *       if (cVar2 != '\0') {
	 *         if (cRam000000000754a7cb == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
	 *           cRam000000000754a7cb = '\x01';
	 *         }
	 *         lVar13 = *(long *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
	 *         fVar31 = *(float *)(lVar13 + 0x18);
	 *         fVar28 = *(float *)(lVar13 + 0x1c);
	 *         fVar30 = *(float *)(lVar13 + 0x20);
	 *       }
	 *       forward.y = fVar32;
	 *       forward.x = fVar25;
	 *       forward.z = fVar29;
	 *       upwards.y = fVar28;
	 *       upwards.x = fVar31;
	 *       upwards.z = fVar30;
	 *       UVar43 = UnityEngine.Quaternion.LookRotation(forward,upwards)
	 *       ;
	 *       fVar22 = UVar43.w;
	 *       fVar30 = UVar43.z;
	 *       fVar28 = UVar43.y;
	 *       fVar31 = UVar43.x;
	 *       if (this.snapYawTo90 != false) {
	 *         UVar40 = UnityEngine.Quaternion.Internal_ToEulerRad(UVar43)
	 *         ;
	 *         euler.x = UVar40.x * _UNK_0134e994;
	 *         euler.y = UVar40.y * _UNK_0134e994;
	 *         euler.z = UVar40.z * _UNK_0134e994;
	 *         UVar40 = UnityEngine.Quaternion.Internal_MakePositive(euler);
	 *         fVar31 = UVar40.y / 90.0;
	 *         dVar23 = (double)func_0x06cb38d0((double)fVar31,&uStack_d0);
	 *         if (0.0 <= fVar31) {
	 *           if (dVar23 == 0.5) {
	 *             fVar31 = 1.0;
	 *             goto LAB_033233e8;
	 *           }
	 *           fVar28 = (float)(int)(fVar31 + 0.5);
	 *         }
	 *         else if (dVar23 == -0.5) {
	 *           fVar31 = -1.0;
	 * LAB_033233e8:
	 *           fVar28 = (float)uStack_d0;
	 *           if (((long)uStack_d0 & 1U) != 0) {
	 *             fVar28 = (float)uStack_d0 + fVar31;
	 *           }
	 *         }
	 *         else {
	 *           fVar28 = (float)(int)(fVar31 + -0.5);
	 *         }
	 *         euler_00.x = UVar40.x * _UNK_0134ef54;
	 *         euler_00.y = fVar28 * 90.0 * _UNK_0134ef54;
	 *         euler_00.z = UVar40.z * _UNK_0134ef54;
	 *         UVar43 = UnityEngine.Quaternion.Internal_FromEulerRad(euler_00);
	 *         fVar22 = UVar43.w;
	 *         fVar30 = UVar43.z;
	 *         fVar28 = UVar43.y;
	 *         fVar31 = UVar43.x;
	 *       }
	 *       pvVar17 = UnityEngine.Component.get_transform(this);
	 *       if (pvVar17 != null) {
	 *         UVar43.y = fVar28;
	 *         UVar43.x = fVar31;
	 *         UVar43.w = fVar22;
	 *         UVar43.z = fVar30;
	 *         UnityEngine.Transform.set_rotation(pvVar17,UVar43);
	 *         if (this.drawDebug == false) {
	 *           return true;
	 *         }
	 *         UVar4 = this.debugMidColor;
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         UVar42.z = fVar38;
	 *         dir.y = fVar27;
	 *         dir.x = fVar26;
	 *         dir.z = fVar35;
	 *         UnityEngine.Debug.DrawRay(UVar42,dir,UVar4,in_s7);
	 *         plVar14 = (long *)func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0a10,4);
	 *         uStack_d0 = (double)CONCAT44(UVar39.y,UVar39.x);
	 *         uStack_c8 = CONCAT44(uStack_c8._4_4_,fVar33);
	 *         lVar13 = func_0x031fde10(*(undefined8 *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08,
	 *                                  &uStack_d0);
	 *         if (plVar14 != null) {
	 *           if ((lVar13 != 0) &&
	 *              (lVar19 = func_0x031fde0c(lVar13,*(undefined8 *)(*plVar14 + 0x40)), lVar19 == 0)) {
	 * LAB_0332366c:
	 *             uVar12 = func_0x031fdf58();
	 *             IL2CPP.ThrowManagedException();
	 *           }
	 *           if ((int)plVar14[3] != 0) {
	 *             plVar14[4] = lVar13;
	 *             func_0x031fdc38(plVar14 + 4,lVar13);
	 *             puVar5 = PTR_DAT_070c0840;
	 *             dStack_100 = (double)CONCAT44(dStack_100._4_4_,*(undefined4 *)(lVar11 + 0x18));
	 *             lVar11 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&dStack_100);
	 *             if ((lVar11 != 0) &&
	 *                (lVar13 = func_0x031fde0c(lVar11,*(undefined8 *)(*plVar14 + 0x40)), lVar13 == 0))
	 *             goto LAB_0332366c;
	 *             if ((*(uint *)(plVar14 + 3) & 0xfffffffe) != 0) {
	 *               plVar14[5] = lVar11;
	 *               func_0x031fdc38(plVar14 + 5,lVar11);
	 *               dStack_190 = (double)CONCAT44(dStack_190._4_4_,dStack_130._0_4_);
	 *               lVar11 = func_0x031fde10(*(undefined8 *)(puVar5 + 0x78),&dStack_190);
	 *               if ((lVar11 != 0) &&
	 *                  (lVar13 = func_0x031fde0c(lVar11,*(undefined8 *)(*plVar14 + 0x40)), lVar13 == 0))
	 *               goto LAB_0332366c;
	 *               if (2 < *(uint *)(plVar14 + 3)) {
	 *                 plVar14[6] = lVar11;
	 *                 func_0x031fdc38(plVar14 + 6,lVar11);
	 *                 uStack_1c4 = dStack_160._0_4_;
	 *                 lVar11 = func_0x031fde10(*(undefined8 *)(puVar5 + 0x78),&uStack_1c4);
	 *                 if ((lVar11 != 0) &&
	 *                    (lVar13 = func_0x031fde0c(lVar11,*(undefined8 *)(*plVar14 + 0x40)), lVar13 == 0))
	 *                 goto LAB_0332366c;
	 *                 if ((*(uint *)(plVar14 + 3) & 0xfffffffc) != 0) {
	 *                   plVar14[7] = lVar11;
	 *                   func_0x031fdc38(plVar14 + 7,lVar11);
	 *                   pvVar17 = System.String.Format(*(void **)PTR_DAT_070c2690,plVar14);
	 *                   UnityEngine.Debug.Log(pvVar17);
	 *                   return true;
	 *                 }
	 *               }
	 *             }
	 *           }
	 *           IL2CPP.ThrowIndexOutOfRangeException();
	 *         }
	 *       }
	 * LAB_03323664:
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   if (this.drawDebug == false) {
	 *     return false;
	 *   }
	 *   if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   pvVar17 = *(void **)PTR_DAT_070c2688;
	 * LAB_03322c18:
	 *   UnityEngine.Debug.Log(pvVar17);
	 *   return false;
	 */
	// RVA: 0x3223680 VA: 0x781890E680
	public void .ctor();
	/*
	 *   undefined8 uVar1;
	 *   undefined4 uVar2;
	 *   undefined *puVar3;
	 *   undefined8 uVar4;
	 *   undefined8 uVar5;
	 *   int iVar6;
	 *
	 *   uVar1 = _UNK_0134d0a8;
	 *   this.rayDistance = 5.0;
	 *   uVar4 = _UNK_0134d0a8;
	 *   this.rayCount = 0x29;
	 *   _UNK_0134d0a8 = (undefined4)uVar1;
	 *   _UNK_0134d0ac = SUB84(uVar1,4);
	 *   uVar2 = _UNK_0134d0ac;
	 *   this.arcAngle = (float)_UNK_0134d0a8;
	 *   _UNK_0134d0a8 = uVar4;
	 *   this.originOffset = (float)uVar2;
	 *   iVar6 = UnityEngine.LayerMask.op_Implicit(-1);
	 *   this.layerMask = iVar6;
	 *   this.queryTrigger = 1;
	 *   this.wallOffset = 0.02;
	 *   uVar4 = _UNK_0134c6a8;
	 *   uVar1 = _UNK_0134c6a0;
	 *   this.requireAtLeastTwoHits = true;
	 *   this.keepWorldUp = true;
	 *   uVar5 = _UNK_0134c6a8;
	 *   this.performOnEnable = true;
	 *   _UNK_0134c6a8 = (undefined4)uVar4;
	 *   _UNK_0134c6ac = SUB84(uVar4,4);
	 *   uVar2 = _UNK_0134c6ac;
	 *   (this.debugRayMissColor).b = (float)_UNK_0134c6a8;
	 *   _UNK_0134c6a8 = uVar5;
	 *   uVar4 = _UNK_0134c6a0;
	 *   (this.debugRayMissColor).a = (float)uVar2;
	 *   _UNK_0134c6a0 = (undefined4)uVar1;
	 *   _UNK_0134c6a4 = SUB84(uVar1,4);
	 *   uVar2 = _UNK_0134c6a4;
	 *   (this.debugRayMissColor).r = (float)_UNK_0134c6a0;
	 *   _UNK_0134c6a0 = uVar4;
	 *   uVar4 = _UNK_0134aca8;
	 *   uVar1 = _UNK_0134aca0;
	 *   (this.debugRayMissColor).g = (float)uVar2;
	 *   this.alignParallelToWall = true;
	 *   this.drawDebug = true;
	 *   uVar5 = _UNK_0134aca8;
	 *   _UNK_0134aca8 = (undefined4)uVar4;
	 *   _UNK_0134acac = SUB84(uVar4,4);
	 *   uVar2 = _UNK_0134acac;
	 *   (this.debugRayHitColor).b = (float)_UNK_0134aca8;
	 *   _UNK_0134aca8 = uVar5;
	 *   uVar4 = _UNK_0134aca0;
	 *   (this.debugRayHitColor).a = (float)uVar2;
	 *   _UNK_0134aca0 = (undefined4)uVar1;
	 *   _UNK_0134aca4 = SUB84(uVar1,4);
	 *   uVar2 = _UNK_0134aca4;
	 *   (this.debugRayHitColor).r = (float)_UNK_0134aca0;
	 *   _UNK_0134aca0 = uVar4;
	 *   uVar4 = _UNK_01348d68;
	 *   uVar1 = _UNK_01348d60;
	 *   (this.debugRayHitColor).g = (float)uVar2;
	 *   this.debugDuration = 1.0;
	 *   uVar5 = _UNK_01348d68;
	 *   _UNK_01348d68 = (undefined4)uVar4;
	 *   _UNK_01348d6c = SUB84(uVar4,4);
	 *   uVar2 = _UNK_01348d6c;
	 *   (this.debugMidColor).b = (float)_UNK_01348d68;
	 *   _UNK_01348d68 = uVar5;
	 *   uVar4 = _UNK_01348d60;
	 *   (this.debugMidColor).a = (float)uVar2;
	 *   _UNK_01348d60 = (undefined4)uVar1;
	 *   _UNK_01348d64 = SUB84(uVar1,4);
	 *   uVar2 = _UNK_01348d64;
	 *   (this.debugMidColor).r = (float)_UNK_01348d60;
	 *   _UNK_01348d60 = uVar4;
	 *   puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   (this.debugMidColor).g = (float)uVar2;
	 *   if ((bRam000000000755f76f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *     bRam000000000755f76f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   return;
	 */
}
