// [TypeInfo RVA: 0x0]
public class DynamicVoiceRange : MonoBehaviour
{
	public float minRange; // 0x20
	public float maxRange; // 0x24
	public float minDb; // 0x28
	public float maxDb; // 0x2C
	public float smoothSpeed; // 0x30
	private UnityEngine.AudioSource voiceSource; // 0x38
	private System.Single[] samples; // 0x40
	private float currentRange; // 0x48

	// RVA: 0x322E5A8 VA: 0x78189195A8
	private void Start();
	/*
	 *   undefined *puVar1;
	 *   void *pvVar2;
	 *   void **ppvVar3;
	 *   float fVar4;
	 *
	 *   puVar1 = PTR_DAT_070c0730;
	 *   if ((bRam000000000754a925 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0730);
	 *     bRam000000000754a925 = 1;
	 *   }
	 *   pvVar2 = (void *)func_0x0373df50(this,*(undefined8 *)puVar1);
	 *   ppvVar3 = &this.voiceSource;
	 *   *ppvVar3 = pvVar2;
	 *   func_0x031fdc38(ppvVar3,pvVar2);
	 *   if (*ppvVar3 != null) {
	 *     fVar4 = UnityEngine.AudioSource.get_maxDistance(*ppvVar3);
	 *     this.currentRange = fVar4;
	 *     return;
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x322E620 VA: 0x7818919620
	private void Update();
	/*
	 *   bool bVar1;
	 *   uint uVar2;
	 *   ulong uVar3;
	 *   ulong uVar4;
	 *   void *pvVar5;
	 *   float *pfVar6;
	 *   long lVar7;
	 *   float fVar8;
	 *   float fVar9;
	 *   float fVar10;
	 *   float fVar11;
	 *   float fVar12;
	 *   float fVar13;
	 *   float fVar14;
	 *
	 *   if (this.voiceSource != null) {
	 *     bVar1 = UnityEngine.AudioSource.get_isPlaying(this.voiceSource);
	 *     if (!bVar1) {
	 *       return;
	 *     }
	 *     if (this.voiceSource != null) {
	 *       UnityEngine.AudioSource.GetOutputData(this.voiceSource,this.samples,0);
	 *       pvVar5 = this.samples;
	 *       if (pvVar5 != null) {
	 *         fVar11 = 0.0;
	 *         uVar2 = (uint)*(ulong *)((long)pvVar5 + 0x18);
	 *         if (0 < (int)uVar2) {
	 *           uVar3 = (ulong)(uVar2 & ((int)uVar2 >> 0x1f ^ 0xffffffffU));
	 *           uVar4 = *(ulong *)((long)pvVar5 + 0x18) & 0xffffffff;
	 *           pfVar6 = (float *)((long)pvVar5 + 0x20);
	 *           do {
	 *             if (uVar4 == 0) {
	 *               IL2CPP.ThrowIndexOutOfRangeException();
	 *             }
	 *             uVar3 = uVar3 - 1;
	 *             uVar4 = uVar4 - 1;
	 *             fVar11 = fVar11 + *pfVar6 * *pfVar6;
	 *             pfVar6 = pfVar6 + 1;
	 *           } while (uVar3 != 0);
	 *         }
	 *         fVar13 = this.minDb;
	 *         fVar14 = this.maxDb;
	 *         fVar8 = 0.0;
	 *         if (fVar13 != fVar14) {
	 *           fVar11 = (float)func_0x06cb3960(SQRT(fVar11 / (float)(int)uVar2));
	 *           fVar11 = fVar11 * 20.0;
	 *           bVar1 = true;
	 *           if (((uint)ABS(fVar11) < 0x7f800001) && (bVar1 = false, !NAN(fVar11))) {
	 *             bVar1 = fVar11 < -80.0;
	 *           }
	 *           fVar8 = -80.0;
	 *           if (!bVar1) {
	 *             fVar8 = fVar11;
	 *           }
	 *           fVar13 = (fVar8 - fVar13) / (fVar14 - fVar13);
	 *           fVar11 = 1.0;
	 *           if (fVar13 <= 1.0) {
	 *             fVar11 = fVar13;
	 *           }
	 *           fVar8 = 0.0;
	 *           if (0.0 <= fVar13) {
	 *             fVar8 = fVar11;
	 *           }
	 *         }
	 *         fVar13 = this.currentRange;
	 *         fVar14 = this.minRange;
	 *         fVar12 = this.maxRange;
	 *         fVar11 = 0.0;
	 *         if (0.0 <= fVar8) {
	 *           fVar11 = fVar8;
	 *         }
	 *         fVar9 = UnityEngine.Time.get_deltaTime();
	 *         pvVar5 = this.voiceSource;
	 *         fVar9 = fVar9 * this.smoothSpeed;
	 *         fVar8 = 1.0;
	 *         if (fVar9 <= 1.0) {
	 *           fVar8 = fVar9;
	 *         }
	 *         fVar10 = 0.0;
	 *         if (0.0 <= fVar9) {
	 *           fVar10 = fVar8;
	 *         }
	 *         fVar13 = fVar13 + ((fVar14 + fVar11 * (fVar12 - fVar14)) - fVar13) * fVar10;
	 *         this.currentRange = fVar13;
	 *         if (pvVar5 != null) {
	 *           if ((bRam000000000755d75d & 1) == 0) {
	 *             func_0x031fdc8c(PTR_DAT_0714e1b0,0);
	 *             bRam000000000755d75d = 1;
	 *           }
	 *           if (pvVar5 != null) {
	 *             lVar7 = *(long *)((long)pvVar5 + 0x10);
	 *             if (lVar7 == 0) {
	 *               UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar5);
	 *             }
	 *             if (pcRam000000000755d838 == null) {
	 *               pcRam000000000755d838 = (code *)func_0x031fdc50(&UNK_01356296);
	 *             }
	 *             (*pcRam000000000755d838)(fVar13,lVar7);
	 *             return;
	 *           }
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *       }
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x322E790 VA: 0x7818919790
	public void .ctor();
	/*
	 *   undefined8 uVar1;
	 *   undefined4 uVar2;
	 *   undefined *puVar3;
	 *   undefined8 uVar4;
	 *   undefined8 uVar5;
	 *   void *pvVar6;
	 *
	 *   puVar3 = PTR_DAT_070c0f68;
	 *   if ((bRam000000000754a926 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0f68);
	 *     bRam000000000754a926 = 1;
	 *   }
	 *   uVar1 = _UNK_0134deb8;
	 *   uVar5 = *(undefined8 *)puVar3;
	 *   this.minDb = -60.0;
	 *   uVar4 = _UNK_0134deb8;
	 *   _UNK_0134deb8 = (undefined4)uVar1;
	 *   _UNK_0134debc = SUB84(uVar1,4);
	 *   uVar2 = _UNK_0134debc;
	 *   this.minRange = (float)_UNK_0134deb8;
	 *   _UNK_0134deb8 = uVar4;
	 *   this.maxRange = (float)uVar2;
	 *   this.smoothSpeed = 10.0;
	 *   pvVar6 = (void *)func_0x031fdd78(uVar5,0x100);
	 *   this.samples = pvVar6;
	 *   func_0x031fdc38();
	 *   puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000755f76f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *     bRam000000000755f76f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   return;
	 */
}
