// [TypeInfo RVA: 0x0]
public class AudioVisualizerUI : MonoBehaviour
{
	public UnityEngine.AudioSource audioSource; // 0x20
	public int sampleSize; // 0x28
	public UnityEngine.FFTWindow fftWindow; // 0x2C
	public int barCount; // 0x30
	public UnityEngine.RectTransform barPrefab; // 0x38
	public UnityEngine.RectTransform barParent; // 0x40
	public float barHeightLimit; // 0x48
	public float smoothing; // 0x4C
	public float bassSensitivity; // 0x50
	public int bassBarCount; // 0x54
	private System.Single[] samples; // 0x58
	private UnityEngine.UI.Image[] bars; // 0x60
	private System.Single[] barValues; // 0x68

	// RVA: 0x3262A48 VA: 0x781894DA48
	private void Start();
	/*
	 *   void *pvVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   long lVar5;
	 *   ulong uVar6;
	 *   long lVar7;
	 *   long lVar8;
	 *   undefined8 uVar9;
	 *   void *extraout_x1;
	 *   void **ppvVar10;
	 *   void *pvVar11;
	 *   long *plVar12;
	 *   UnityEngine_Vector2 UVar13;
	 *
	 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754abab & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0730);
	 *     func_0x031fdc8c(PTR_DAT_070c4ff0);
	 *     func_0x031fdc8c(PTR_DAT_070c4ff8);
	 *     func_0x031fdc8c(PTR_DAT_070c5000);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(PTR_DAT_070c0f68);
	 *     bRam000000000754abab = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   lVar5 = *(long *)puVar2;
	 *   pvVar11 = this.audioSource;
	 *   if (*(int *)(lVar5 + 0xe4) == 0) {
	 *     func_0x031fde08(lVar5,methodInfo);
	 *   }
	 *   puVar4 = PTR_DAT_070c4ff8;
	 *   puVar3 = PTR_DAT_070c0f68;
	 *   uVar6 = UnityEngine.Object.op_Equality(pvVar11,null);
	 *   if ((uVar6 & 1) != 0) {
	 *     pvVar11 = (void *)func_0x0373df50(this,*(undefined8 *)PTR_DAT_070c0730);
	 *     this.audioSource = pvVar11;
	 *     func_0x031fdc38(&this.audioSource,pvVar11);
	 *   }
	 *   pvVar11 = (void *)func_0x031fdd78(*(undefined8 *)puVar3,this.sampleSize);
	 *   this.samples = pvVar11;
	 *   func_0x031fdc38();
	 *   pvVar11 = (void *)func_0x031fdd78(*(undefined8 *)puVar4,this.barCount);
	 *   ppvVar10 = &this.bars;
	 *   *ppvVar10 = pvVar11;
	 *   func_0x031fdc38(ppvVar10,pvVar11);
	 *   pvVar11 = (void *)func_0x031fdd78(*(undefined8 *)puVar3,this.barCount);
	 *   this.barValues = pvVar11;
	 *   func_0x031fdc38();
	 *   puVar4 = PTR_DAT_070c5000;
	 *   puVar3 = PTR_DAT_070c4ff0;
	 *   if (0 < this.barCount) {
	 *     uVar6 = 0;
	 *     lVar5 = 0x20;
	 *     do {
	 *       pvVar11 = this.barPrefab;
	 *       pvVar1 = this.barParent;
	 *       if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       pvVar11 = (void *)func_0x03890af8(pvVar11,pvVar1,*(undefined8 *)puVar4);
	 *       if (this.barPrefab == null) {
	 * LAB_03362c84:
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *       UVar13 = UnityEngine.RectTransform.get_sizeDelta(this.barPrefab);
	 *       if (pvVar11 == null) goto LAB_03362c84;
	 *       UVar13.x = (UVar13.x + 5.0) * (float)(int)uVar6;
	 *       UVar13.y = 0.0;
	 *       UnityEngine.RectTransform.set_anchoredPosition(pvVar11,UVar13);
	 *       plVar12 = *ppvVar10;
	 *       lVar7 = func_0x0373df50(pvVar11,*(undefined8 *)puVar3);
	 *       if (plVar12 == null) goto LAB_03362c84;
	 *       if ((lVar7 != 0) &&
	 *          (lVar8 = func_0x031fde0c(lVar7,*(undefined8 *)(*plVar12 + 0x40)), lVar8 == 0)) {
	 *         uVar9 = func_0x031fdf58();
	 *         IL2CPP.ThrowManagedException();
	 *       }
	 *       if (*(uint *)(plVar12 + 3) <= uVar6) {
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *       plVar12[uVar6 + 4] = lVar7;
	 *       func_0x031fdc38((long)plVar12 + lVar5,lVar7);
	 *       uVar6 = uVar6 + 1;
	 *       lVar5 = lVar5 + 8;
	 *     } while ((long)uVar6 < (long)this.barCount);
	 *   }
	 *   return;
	 */
	// RVA: 0x3262C98 VA: 0x781894DC98
	private void Update();
	/*
	 *   int iVar1;
	 *   uint uVar2;
	 *   long lVar3;
	 *   float fVar4;
	 *   undefined *puVar5;
	 *   ulong uVar6;
	 *   int iVar7;
	 *   uint uVar8;
	 *   void *pvVar9;
	 *   void *pvVar10;
	 *   float *pfVar11;
	 *   undefined8 uVar12;
	 *   ulong uVar13;
	 *   long lVar14;
	 *   float fVar15;
	 *   float fVar16;
	 *   float fVar17;
	 *   float fVar18;
	 *   float fVar19;
	 *   float fVar20;
	 *   UnityEngine_Vector2 UVar21;
	 *
	 *   if ((bRam000000000754abac & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754abac = 1;
	 *   }
	 *   if (this.audioSource != null) {
	 *     UnityEngine.AudioSource.GetSpectrumData(this.audioSource,this.samples,0,this.fftWindow);
	 *     puVar5 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     fVar4 = _UNK_0134eca0;
	 *     iVar1 = this.barCount;
	 *     if (0 < iVar1) {
	 *       iVar7 = 0;
	 *       uVar13 = 0;
	 *       uVar2 = 0;
	 *       if (iVar1 != 0) {
	 *         uVar2 = this.sampleSize / iVar1;
	 *       }
	 *       fVar20 = 1.0;
	 *       do {
	 *         fVar15 = 0.0;
	 *         lVar14 = (long)iVar7;
	 *         if (0 < (int)uVar2) {
	 *           pvVar10 = this.samples;
	 *           if (pvVar10 == null) goto LAB_03362f34;
	 *           uVar8 = (uint)*(undefined8 *)((long)pvVar10 + 0x18);
	 *           uVar6 = (ulong)uVar2;
	 *           do {
	 *             if ((int)uVar8 <= lVar14) break;
	 *             if (uVar8 <= (uint)lVar14) goto LAB_03362f30;
	 *             lVar3 = lVar14 * 4;
	 *             uVar6 = uVar6 - 1;
	 *             lVar14 = lVar14 + 1;
	 *             fVar15 = fVar15 + *(float *)((long)pvVar10 + lVar3 + 0x20);
	 *           } while (uVar6 != 0);
	 *         }
	 *         fVar15 = (float)func_0x06cb3960((fVar15 / (float)(int)uVar2) / fVar4);
	 *         fVar16 = (fVar15 * 20.0 + 80.0) / 80.0;
	 *         fVar15 = fVar20;
	 *         if (fVar16 <= 1.0) {
	 *           fVar15 = fVar16;
	 *         }
	 *         fVar17 = 0.0;
	 *         if (0.0 <= fVar16) {
	 *           fVar17 = fVar15;
	 *         }
	 *         fVar15 = 0.0;
	 *         if (0.0 <= fVar17) {
	 *           fVar15 = fVar17;
	 *         }
	 *         if ((long)uVar13 < (long)this.bassBarCount) {
	 *           fVar17 = fVar15 * this.bassSensitivity;
	 *           fVar16 = fVar20;
	 *           if (fVar17 <= 1.0) {
	 *             fVar16 = fVar17;
	 *           }
	 *           fVar15 = 0.0;
	 *           if (0.0 <= fVar17) {
	 *             fVar15 = fVar16;
	 *           }
	 *         }
	 *         pvVar10 = this.barValues;
	 *         if (pvVar10 == null) goto LAB_03362f34;
	 *         if (*(uint *)((long)pvVar10 + 0x18) <= uVar13) {
	 * LAB_03362f30:
	 *           IL2CPP.ThrowIndexOutOfRangeException();
	 *         }
	 *         pfVar11 = (float *)((long)pvVar10 + uVar13 * 4 + 0x20);
	 *         fVar17 = *pfVar11;
	 *         fVar16 = UnityEngine.Time.get_deltaTime();
	 *         if (*(uint *)((long)pvVar10 + 0x18) <= uVar13) goto LAB_03362f30;
	 *         pvVar10 = this.bars;
	 *         fVar16 = fVar16 * this.smoothing;
	 *         fVar18 = fVar20;
	 *         if (fVar16 <= 1.0) {
	 *           fVar18 = fVar16;
	 *         }
	 *         fVar19 = 0.0;
	 *         if (0.0 <= fVar16) {
	 *           fVar19 = fVar18;
	 *         }
	 *         *pfVar11 = fVar17 + (fVar15 - fVar17) * fVar19;
	 *         if (pvVar10 == null) goto LAB_03362f34;
	 *         if (*(uint *)((long)pvVar10 + 0x18) <= uVar13) goto LAB_03362f30;
	 *         uVar12 = *(undefined8 *)((long)pvVar10 + uVar13 * 8 + 0x20);
	 *         if (*(int *)(*(long *)puVar5 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar6 = UnityEngine.Object.op_Inequality(uVar12,null);
	 *         if ((uVar6 & 1) != 0) {
	 *           pvVar10 = this.bars;
	 *           if (pvVar10 == null) goto LAB_03362f34;
	 *           if (*(uint *)((long)pvVar10 + 0x18) <= uVar13) goto LAB_03362f30;
	 *           pvVar10 = *(void **)((long)pvVar10 + uVar13 * 8 + 0x20);
	 *           if (pvVar10 == null) goto LAB_03362f34;
	 *           pvVar10 = UnityEngine.UI.Graphic.get_rectTransform(pvVar10);
	 *           pvVar9 = this.barValues;
	 *           if (pvVar9 == null) goto LAB_03362f34;
	 *           if (*(uint *)((long)pvVar9 + 0x18) <= uVar13) goto LAB_03362f30;
	 *           if (pvVar10 == null) goto LAB_03362f34;
	 *           fVar16 = this.barHeightLimit;
	 *           fVar15 = *(float *)((long)pvVar9 + uVar13 * 4 + 0x20) * fVar16;
	 *           if (fVar16 <= fVar15) {
	 *             fVar15 = fVar16;
	 *           }
	 *           UVar21 = UnityEngine.RectTransform.get_sizeDelta(pvVar10)
	 *           ;
	 *           UVar21.y = fVar15;
	 *           UnityEngine.RectTransform.set_sizeDelta(pvVar10,UVar21);
	 *         }
	 *         uVar13 = uVar13 + 1;
	 *         iVar7 = iVar7 + uVar2;
	 *       } while ((long)uVar13 < (long)this.barCount);
	 *     }
	 *     return;
	 *   }
	 * LAB_03362f34:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3262F38 VA: 0x781894DF38
	public void .ctor();
	/*
	 *   undefined8 uVar1;
	 *   undefined4 uVar2;
	 *   undefined *puVar3;
	 *   undefined8 uVar4;
	 *   undefined8 uVar5;
	 *
	 *   uVar4 = _UNK_0134dd60;
	 *   uVar1 = _UNK_0134dcb0;
	 *   this.barCount = 0x10;
	 *   uVar5 = _UNK_0134dd60;
	 *   _UNK_0134dd60 = (undefined4)uVar4;
	 *   _UNK_0134dd64 = SUB84(uVar4,4);
	 *   uVar2 = _UNK_0134dd64;
	 *   this.sampleSize = _UNK_0134dd60;
	 *   _UNK_0134dd60 = uVar5;
	 *   uVar4 = _UNK_0134dcb0;
	 *   this.fftWindow = uVar2;
	 *   _UNK_0134dcb0 = (undefined4)uVar1;
	 *   _UNK_0134dcb4 = SUB84(uVar1,4);
	 *   uVar2 = _UNK_0134dcb4;
	 *   this.barHeightLimit = (float)_UNK_0134dcb0;
	 *   _UNK_0134dcb0 = uVar4;
	 *   this.smoothing = (float)uVar2;
	 *   this.bassSensitivity = 3.0;
	 *   puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   this.bassBarCount = 3;
	 *   if ((bRam000000000755f76f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *     bRam000000000755f76f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   return;
	 */
}
