############ VTABLE 0x1824abb90 (64 slots) ############
  [0] 0x18052d390 size=52
      --- C ---

void * .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__
                 (void *param_1,ulonglong param_2)

{
  FUN_180529aa0();
  if ((param_2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
    free(param_1);
  }
  return param_1;
}


  [1] 0x18052cfb0 size=61
      --- C ---

void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(longlong param_1)

{
  FUN_1812b4430(param_1 + 0x14,0,2);
  *(float *)(param_1 + 0x58) = (float)(DAT_1824c4230 / (double)*(float *)(param_1 + 0x24));
  return;
}


  [2] 0x180529550 size=191
      --- C ---

void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__
               (longlong *param_1,undefined4 param_2,undefined4 *param_3,int param_4)

{
  int *piVar1;
  longlong lVar2;
  uint *puVar3;
  
  lVar2 = (longlong)param_4;
  puVar3 = (uint *)(param_1 + (lVar2 + 9) * 8);
  *(undefined4 *)(*(longlong *)(puVar3 + 8) + (longlong)(int)*puVar3 * 4) = *param_3;
  *puVar3 = puVar3[2] - 1 & *puVar3 + 1;
  puVar3 = (uint *)(param_1 + (lVar2 + 7) * 8);
  *(undefined4 *)(*(longlong *)(puVar3 + 8) + (longlong)(int)*puVar3 * 4) = param_2;
  *puVar3 = puVar3[2] - 1 & *puVar3 + 1;
  piVar1 = (int *)((longlong)param_1 + lVar2 * 4 + 0x3c0);
  *piVar1 = *piVar1 + 1;
  if ((*(int *)((longlong)param_1 + lVar2 * 4 + 0x3c0) == (int)param_1[0x79] / 2) && (param_4 == 0))
  {
    (**(code **)(*param_1 + 0x38))(param_1);
  }
  if (*(int *)((longlong)param_1 + lVar2 * 4 + 0x3c0) == (int)param_1[0x79]) {
    *(undefined4 *)((longlong)param_1 + lVar2 * 4 + 0x3c0) = 0;
    FUN_1805300f0(param_1,param_4);
  }
  return;
}


  [3] 0x1804714b0 size=3
  [4] 0x180529610 size=1154
      --- C ---

void .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__
               (longlong *param_1,longlong *param_2,ulonglong param_3)

{
  int iVar1;
  int iVar2;
  longlong lVar3;
  ulonglong uVar4;
  uint uVar5;
  int iVar6;
  ulonglong uVar7;
  ulonglong uVar8;
  ulonglong uVar9;
  longlong *plVar10;
  longlong *plVar11;
  code *pcVar12;
  
  uVar4 = 0;
  uVar9 = uVar4;
  if (0 < (int)param_1[6]) {
    param_2 = param_1 + 0x3b;
    do {
      param_2[-3] = 0;
      uVar8 = uVar4;
      uVar7 = uVar4;
      if (0 < (int)*param_2) {
        do {
          *(undefined4 *)(uVar7 + param_2[-1]) = 0;
          uVar5 = (int)uVar8 + 1;
          uVar8 = (ulonglong)uVar5;
          uVar7 = uVar7 + 4;
        } while ((int)uVar5 < (int)*param_2);
      }
      param_2[1] = param_2[-1];
      param_2[0xd] = 0;
      uVar8 = uVar4;
      uVar7 = uVar4;
      if (0 < (int)param_2[0x10]) {
        do {
          *(undefined4 *)(uVar8 + param_2[0xf]) = 0;
          uVar5 = (int)uVar7 + 1;
          uVar8 = uVar8 + 4;
          uVar7 = (ulonglong)uVar5;
        } while ((int)uVar5 < (int)param_2[0x10]);
      }
      param_2[0x11] = param_2[0xf];
      param_2[0x1d] = 0;
      uVar8 = uVar4;
      param_3 = uVar4;
      if (0 < (int)param_2[0x20]) {
        do {
          *(undefined4 *)(uVar8 + param_2[0x1f]) = 0;
          uVar5 = (int)param_3 + 1;
          param_3 = (ulonglong)uVar5;
          uVar8 = uVar8 + 4;
        } while ((int)uVar5 < (int)param_2[0x20]);
      }
      param_2[0x21] = param_2[0x1f];
      uVar5 = (int)uVar9 + 1;
      uVar9 = (ulonglong)uVar5;
      param_2 = param_2 + 8;
    } while ((int)uVar5 < (int)param_1[6]);
  }
  FUN_18052e130(param_1,param_2,param_3,uVar9,0xfffffffffffffffe);
  iVar1 = (int)param_1[0x34];
  uVar9 = (longlong)iVar1 % (longlong)*(int *)((longlong)param_1 + 0x1ac) & 0xffffffff;
  *(int *)(param_1 + 0x79) = iVar1 / *(int *)((longlong)param_1 + 0x1ac);
  *(int *)(param_1 + 0x35) = (int)param_1[0x36] * iVar1;
  if (0 < (int)param_1[6]) {
    plVar10 = param_1 + 0x3b;
    uVar8 = uVar4;
    do {
      iVar2 = FUN_1813bbf80(0x10000,uVar9);
      if ((int)plVar10[-2] != iVar2) {
        FUN_18052e190(plVar10 + -1,iVar2,0);
      }
      *(int *)(plVar10 + -2) = iVar2;
      plVar10[-3] = 0;
      uVar9 = uVar4;
      uVar7 = uVar4;
      if (0 < (int)*plVar10) {
        do {
          *(undefined4 *)(uVar9 + plVar10[-1]) = 0;
          uVar5 = (int)uVar7 + 1;
          uVar9 = uVar9 + 4;
          uVar7 = (ulonglong)uVar5;
        } while ((int)uVar5 < (int)*plVar10);
      }
      plVar10[1] = plVar10[-1];
      uVar5 = (int)param_1[0x34] + (int)plVar10[-3] & (int)plVar10[-2] - 1U;
      if ((int)uVar5 < 0) {
        uVar5 = uVar5 + (int)plVar10[-2];
      }
      *(uint *)(plVar10 + -3) = uVar5;
      iVar2 = FUN_1813bbf80(0x10000);
      if ((int)plVar10[0xe] != iVar2) {
        FUN_18052e190(plVar10 + 0xf,iVar2,0);
      }
      *(int *)(plVar10 + 0xe) = iVar2;
      plVar10[0xd] = 0;
      uVar9 = uVar4;
      uVar7 = uVar4;
      if (0 < (int)plVar10[0x10]) {
        do {
          *(undefined4 *)(uVar9 + plVar10[0xf]) = 0;
          uVar5 = (int)uVar7 + 1;
          uVar9 = uVar9 + 4;
          uVar7 = (ulonglong)uVar5;
        } while ((int)uVar5 < (int)plVar10[0x10]);
      }
      plVar10[0x11] = plVar10[0xf];
      uVar5 = (int)param_1[0x34] + (int)plVar10[0xd] & (int)plVar10[0xe] - 1U;
      if ((int)uVar5 < 0) {
        uVar5 = uVar5 + (int)plVar10[0xe];
      }
      *(uint *)(plVar10 + 0xd) = uVar5;
      iVar2 = FUN_1813bbf80(0x10000);
      if ((int)plVar10[0x1e] != iVar2) {
        FUN_18052e190(plVar10 + 0x1f,iVar2,0);
      }
      *(int *)(plVar10 + 0x1e) = iVar2;
      plVar10[0x1d] = 0;
      uVar7 = uVar4;
      uVar9 = uVar4;
      if (0 < (int)plVar10[0x20]) {
        do {
          *(undefined4 *)(uVar7 + plVar10[0x1f]) = 0;
          uVar5 = (int)uVar9 + 1;
          uVar9 = (ulonglong)uVar5;
          uVar7 = uVar7 + 4;
        } while ((int)uVar5 < (int)plVar10[0x20]);
      }
      plVar10[0x21] = plVar10[0x1f];
      uVar5 = (int)uVar8 + 1;
      uVar8 = (ulonglong)uVar5;
      plVar10 = plVar10 + 8;
    } while ((int)uVar5 < (int)param_1[6]);
  }
  if (0 < (int)param_1[6]) {
    iVar2 = iVar1 * 0x10;
    plVar10 = param_1 + 0x6c;
    uVar9 = uVar4;
    do {
      if ((int)plVar10[1] == iVar2) {
LAB_18052990b:
        uVar8 = uVar4;
        uVar7 = uVar4;
        if (0 < (int)plVar10[1]) {
          do {
            *(undefined4 *)(uVar8 + *plVar10) = 0;
            uVar5 = (int)uVar7 + 1;
            uVar8 = uVar8 + 4;
            uVar7 = (ulonglong)uVar5;
          } while ((int)uVar5 < (int)plVar10[1]);
        }
      }
      else {
        if ((0 < (int)plVar10[1]) && (*plVar10 != 0)) {
          FUN_1800010c0();
        }
        *plVar10 = 0;
        iVar6 = iVar2;
        if (iVar2 < 0) {
          iVar6 = 0;
        }
        *(int *)(plVar10 + 1) = iVar6;
        if (iVar6 != 0) {
          lVar3 = FUN_180001080(iVar6 * 4);
          *plVar10 = lVar3;
          goto LAB_18052990b;
        }
      }
      uVar5 = (int)uVar9 + 1;
      uVar9 = (ulonglong)uVar5;
      plVar10 = plVar10 + 2;
    } while ((int)uVar5 < (int)param_1[6]);
  }
  if (0 < (int)param_1[6]) {
    plVar11 = param_1 + 0x70;
    plVar10 = param_1 + 0x6c;
    uVar9 = uVar4;
    do {
      *plVar11 = *plVar10;
      uVar5 = (int)uVar9 + 1;
      uVar9 = (ulonglong)uVar5;
      plVar10 = plVar10 + 2;
      plVar11 = plVar11 + 1;
    } while ((int)uVar5 < (int)param_1[6]);
  }
  FUN_18052e190(param_1 + 0x72,iVar1 * 0x10,0);
  FUN_18052dc30(param_1 + 0xc,(int)param_1[0x35],iVar1 * 8);
  FUN_18052e190(param_1 + 0x74,(int)param_1[0x34],0);
  uVar9 = uVar4;
  uVar8 = uVar4;
  if (0 < (int)param_1[0x75]) {
    do {
      *(undefined4 *)(uVar9 + param_1[0x74]) = 0;
      uVar5 = (int)uVar8 + 1;
      uVar9 = uVar9 + 4;
      uVar8 = (ulonglong)uVar5;
    } while ((int)uVar5 < (int)param_1[0x75]);
  }
  if (0 < (int)param_1[6]) {
    plVar10 = param_1 + 0x78;
    do {
      *(undefined4 *)plVar10 = 0;
      uVar5 = (int)uVar4 + 1;
      uVar4 = (ulonglong)uVar5;
      plVar10 = (longlong *)((longlong)plVar10 + 4);
    } while ((int)uVar5 < (int)param_1[6]);
  }
  FUN_18052df60(param_1);
  if (*(char *)((longlong)param_1 + 0x1b6) == '\0') {
    if (*(char *)((longlong)param_1 + 0x1b7) == '\0') {
      if ((char)param_1[0x37] == '\0') goto LAB_180529a6a;
      *(undefined1 *)(param_1 + 0x37) = 0;
      pcVar12 = *(code **)(*param_1 + 0x48);
    }
    else {
      *(undefined1 *)((longlong)param_1 + 0x1b7) = 0;
      pcVar12 = *(code **)(*param_1 + 0x58);
    }
  }
  else {
    *(undefined1 *)((longlong)param_1 + 0x1b6) = 0;
    pcVar12 = *(code **)(*param_1 + 0x50);
  }
  if (pcVar12 != _guard_check_icall) {
    (*pcVar12)(param_1);
  }
LAB_180529a6a:
  *(undefined1 *)((longlong)param_1 + 0x3cc) = 0;
  return;
}


  [5] 0x18113285a size=6
  [6] 0x1804714b0 size=3
  [7] 0x1804714b0 size=3
  [8] 0x1804727a0 size=3
  [9] 0x1804714b0 size=3
  [10] 0x1804714b0 size=3
  [11] 0x1804714b0 size=3
  [12] 0xb5729575b468 (invalid/enc)
  [13] 0xc2c6f9033f31 (invalid/enc)
  [14] 0xdb60f3c4de (invalid/enc)
  [15] 0xab1cb574b45de2 (invalid/enc)
  [16] 0xd2f04c4cd2f35643 (invalid/enc)
  [17] 0x5e (invalid/enc)
  [18] 0x182505548 size=0
  [19] 0x18052d3d0 size=52
      --- C ---

void * .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__
                 (void *param_1,ulonglong param_2)

{
  FUN_18052c910();
  if ((param_2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
    free(param_1);
  }
  return param_1;
}


  [20] 0x18052c8f0 size=26
  [21] 0x1812c1fb0 size=92
      --- C ---

undefined8 *
.?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@::
vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____
          (longlong *param_1,undefined8 *param_2)

{
  uint uVar1;
  undefined8 uVar2;
  uint *_Memory;
  undefined8 *local_res10 [3];
  
  local_res10[0] = param_2;
  uVar2 = (**(code **)(*param_1 + 8))(param_1,local_res10);
  *param_2 = 0;
  param_2[1] = 0;
  FUN_18049b000(param_2,uVar2);
  _Memory = (uint *)(local_res10[0] + -2);
  if ((*_Memory & 0x30000000) == 0) {
    LOCK();
    uVar1 = *_Memory;
    *_Memory = *_Memory - 1;
    UNLOCK();
    if (uVar1 == 0) {
                    /* WARNING: Subroutine does not return */
      free(_Memory);
    }
  }
  return param_2;
}


  [22] 0x18052c4a0 size=794
      --- C ---

/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */

void .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@::
     vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____
               (longlong *param_1,double param_2,undefined4 param_3)

{
  uint *puVar1;
  int iVar2;
  undefined8 *puVar3;
  undefined8 *puVar4;
  undefined8 *puVar5;
  char cVar6;
  uint uVar7;
  undefined8 *puVar8;
  code *pcVar9;
  int iVar10;
  longlong *plVar11;
  ulonglong uVar12;
  ulonglong uVar13;
  ulonglong uVar14;
  ulonglong uVar15;
  ulonglong uVar16;
  undefined1 auStack_e8 [32];
  code *local_c8;
  undefined4 uStack_c0;
  undefined4 uStack_bc;
  undefined8 local_b8;
  uint *local_b0;
  undefined1 local_a8 [16];
  undefined1 local_98 [16];
  undefined **local_88;
  undefined4 local_80;
  undefined4 uStack_7c;
  undefined4 uStack_78;
  undefined4 uStack_74;
  longlong *local_70;
  undefined ***local_50;
  ulonglong local_48;
  
  local_b8 = 0xfffffffffffffffe;
  local_48 = DAT_182615970 ^ (ulonglong)auStack_e8;
  puVar1 = (uint *)(param_1 + 0xab);
  do {
    LOCK();
    uVar7 = *puVar1;
    *puVar1 = *puVar1 | 1;
    UNLOCK();
  } while ((uVar7 & 1) != 0);
  local_b0 = puVar1;
  if ((*(char *)((longlong)param_1 + 0x554) != '\0') && (param_1[0xb7] != 0)) {
    plVar11 = (longlong *)(param_1[0xb7] + 0x70);
    (**(code **)(*plVar11 + 8))(plVar11,param_3,SUB84(param_2,0));
  }
  uVar14 = 0;
  if ((double)param_1[0x2b] != param_2) {
    param_1[0xbb] = 0;
  }
  param_1[0x2b] = (longlong)param_2;
  *(undefined4 *)(param_1 + 0x2c) = param_3;
  cVar6 = (**(code **)(*(longlong *)param_1[0x2d] + 0xe8))();
  uVar7 = 0;
  if (cVar6 != '\0') {
    local_c8 = FUN_18052f680;
    uStack_c0 = 0;
    local_88 = std::
               _Func_impl_no_alloc<std::_Binder<std::_Unforced,void_(__cdecl_CloudyAudioProcessor<Soothe2ModuleBase<float,2>,Soothe2ModuleDecryptor,ParameterStates,float>::*)(void)___ptr64,CloudyAudioProcessor<class_Soothe2ModuleBase<float,2>,class_Soothe2ModuleDecryptor,class_ParameterStates,float>*___ptr64>,void>
               ::vftable;
    local_80 = 0x8052f680;
    uStack_7c = 1;
    uStack_78 = 0;
    uStack_74 = uStack_bc;
    local_50 = &local_88;
    local_70 = param_1;
    FUN_18113eab0();
    FUN_18114b490(&local_88);
    if (local_50 != (undefined ***)0x0) {
      (*(code *)(*local_50)[4])(local_50,local_50 != &local_88);
    }
  }
  puVar8 = (undefined8 *)FUN_1812c37c0(param_1,local_a8);
  if (*(int *)((longlong)puVar8 + 0xc) != 0) {
    uVar7 = FUN_18123d3f0(*puVar8);
  }
  FUN_18047c500(local_98);
  FUN_18047c500(local_a8);
  if (uVar7 != *(uint *)((longlong)param_1 + 0x56c)) {
    plVar11 = param_1 + 0xac;
    FUN_180531620(plVar11);
    if ((int)param_1[0xad] != 0) {
                    /* WARNING: Subroutine does not return */
      free((void *)*plVar11);
    }
    *(undefined4 *)(param_1 + 0xad) = 0;
    if (0 < (int)uVar7) {
      uVar13 = (ulonglong)uVar7;
      do {
        pcVar9 = (code *)FUN_1811316e0(0x28);
        *(undefined8 *)pcVar9 = 0;
        *(undefined4 *)(pcVar9 + 8) = 0;
        *(undefined8 *)(pcVar9 + 0x10) = 0;
        *(undefined4 *)(pcVar9 + 0x18) = 0;
        *(undefined8 *)(pcVar9 + 0x20) = 0;
        local_c8 = pcVar9;
        FUN_18052bc40(pcVar9,0x10000);
        iVar2 = *(int *)((longlong)param_1 + 0x56c);
        iVar10 = iVar2 + 1;
        if ((int)param_1[0xad] < iVar10) {
          if (iVar10 < 0) {
            iVar10 = iVar2 + 2;
          }
          FUN_18047cb30(plVar11,iVar2 + 9 + (iVar10 >> 1) & 0xfffffff8);
        }
        iVar10 = *(int *)((longlong)param_1 + 0x56c);
        *(int *)((longlong)param_1 + 0x56c) = iVar10 + 1;
        *(code **)(*plVar11 + (longlong)iVar10 * 8) = pcVar9;
        uVar13 = uVar13 - 1;
      } while (uVar13 != 0);
    }
  }
  (**(code **)(*param_1 + 0x220))(param_1,param_1[0x2b],(int)param_1[0x2c]);
  puVar8 = (undefined8 *)param_1[0x36];
  puVar3 = (undefined8 *)*puVar8;
  while (puVar3 != puVar8) {
    FUN_1811c4880(puVar3[5]);
    puVar4 = (undefined8 *)puVar3[2];
    if (*(char *)((longlong)puVar4 + 0x19) == '\0') {
      cVar6 = *(char *)((longlong)*puVar4 + 0x19);
      puVar3 = puVar4;
      puVar4 = (undefined8 *)*puVar4;
      while (cVar6 == '\0') {
        cVar6 = *(char *)((longlong)*puVar4 + 0x19);
        puVar3 = puVar4;
        puVar4 = (undefined8 *)*puVar4;
      }
    }
    else {
      cVar6 = *(char *)((longlong)puVar3[1] + 0x19);
      puVar5 = (undefined8 *)puVar3[1];
      puVar4 = puVar3;
      while ((puVar3 = puVar5, cVar6 == '\0' && (puVar4 == (undefined8 *)puVar3[2]))) {
        cVar6 = *(char *)((longlong)puVar3[1] + 0x19);
        puVar5 = (undefined8 *)puVar3[1];
        puVar4 = puVar3;
      }
    }
  }
  FUN_1812a77d0(param_1 + 0x60,0x10);
  puVar8 = (undefined8 *)param_1[0xac];
  uVar13 = (ulonglong)
           ((longlong)(puVar8 + *(int *)((longlong)param_1 + 0x56c)) + (7 - (longlong)puVar8)) >> 3;
  if (puVar8 + *(int *)((longlong)param_1 + 0x56c) < puVar8) {
    uVar13 = uVar14;
  }
  uVar16 = uVar14;
  if (uVar13 != 0) {
    do {
      puVar3 = (undefined8 *)*puVar8;
      *puVar3 = 0;
      uVar12 = uVar14;
      uVar15 = uVar14;
      if (0 < *(int *)(puVar3 + 3)) {
        do {
          *(undefined4 *)(uVar12 + puVar3[2]) = 0;
          uVar7 = (int)uVar15 + 1;
          uVar12 = uVar12 + 4;
          uVar15 = (ulonglong)uVar7;
        } while ((int)uVar7 < *(int *)(puVar3 + 3));
      }
      puVar3[4] = puVar3[2];
      puVar8 = puVar8 + 1;
      uVar16 = uVar16 + 1;
    } while (uVar16 != uVar13);
  }
  LOCK();
  *puVar1 = 0;
  UNLOCK();
}


  [23] 0x1804714b0 size=3
  [24] 0x1804714b0 size=3
  [25] 0x1812c0b50 size=3
  [26] 0x18052bfa0 size=870
      --- C ---

void .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@::
     vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____
               (longlong *param_1,longlong param_2,undefined8 param_3)

{
  longlong *plVar1;
  longlong lVar2;
  char cVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  longlong lVar7;
  uint *puVar8;
  longlong lVar9;
  uint *puVar10;
  uint *puVar11;
  uint *puVar12;
  bool bVar13;
  int local_b0;
  int local_ac;
  undefined4 local_a8;
  undefined8 local_a0;
  int local_94;
  undefined1 local_90 [16];
  longlong local_80;
  ulonglong local_78;
  longlong local_70;
  undefined4 local_68;
  undefined4 local_64;
  uint *local_60;
  char local_58;
  undefined8 local_50;
  
  local_50 = 0xfffffffffffffffe;
  local_60 = (uint *)(param_1 + 0xab);
  LOCK();
  bVar13 = (*local_60 & 1) == 0;
  *local_60 = *local_60 | 1;
  UNLOCK();
  puVar12 = (uint *)0x0;
  iVar4 = 0;
  if ((((DAT_1826216ff == '\0') || (DAT_18262170c == '\0')) || (DAT_18262170d == '\0')) ||
     ((DAT_1826216fd == '\0' || (iVar6 = 1, DAT_1826216fe == '\0')))) {
    iVar6 = iVar4;
  }
  local_58 = bVar13;
  if (((char)iVar6 == '\0') ||
     (cVar3 = (**(code **)(*(longlong *)param_1[0x2d] + 0xe8))(), cVar3 == '\0')) {
    if (((DAT_1826216ff == '\0') ||
        (((DAT_18262170c == '\0' || (DAT_18262170d == '\0')) || (DAT_1826216fd == '\0')))) ||
       (iVar6 = 1, DAT_1826216fe == '\0')) {
      iVar6 = iVar4;
    }
    if (((char)iVar6 != '\0') ||
       (cVar3 = (**(code **)(*(longlong *)param_1[0x2d] + 0xe8))(), cVar3 != '\0'))
    goto LAB_18052c0bb;
  }
  if (bVar13) {
    FUN_18052f850(param_1);
  }
LAB_18052c0bb:
  uVar5 = MXCSR;
  local_78 = (ulonglong)MXCSR;
  MXCSR = MXCSR | 0x8040;
  if ((char)param_1[0xb6] != *(char *)((longlong)param_1 + 0x41)) {
    *(char *)(param_1 + 0xb6) = *(char *)((longlong)param_1 + 0x41);
    (**(code **)(*param_1 + 0x230))(param_1);
  }
  local_78._0_4_ = uVar5;
  if (bVar13) {
    cVar3 = (**(code **)(*(longlong *)param_1[0x2d] + 0xe8))();
    if (cVar3 == '\0') {
      LOCK();
      *(undefined1 *)((longlong)param_1 + 0x164) = 0;
      UNLOCK();
      FUN_181198f30(param_1 + 0x2f,0);
      if ((*(char *)((longlong)param_1 + 0x554) != '\0') && (param_1[0xb7] != 0)) {
        local_68 = 0;
        local_64 = *(undefined4 *)(param_2 + 4);
        plVar1 = (longlong *)(param_1[0xb7] + 0x70);
        local_70 = param_2;
        (**(code **)(*plVar1 + 0x18))(plVar1,&local_70);
      }
      FUN_1812c37c0(param_1,&local_a0);
      if (local_94 != 0) {
        iVar4 = FUN_18123d3f0(local_a0);
      }
      iVar6 = *(int *)(param_2 + 4);
      local_80 = (longlong)iVar4;
      if (0 < local_80) {
        puVar8 = puVar12;
        puVar10 = puVar12;
        do {
          lVar2 = *(longlong *)(*(longlong *)(param_2 + 0x10) + (longlong)puVar8 * 8);
          puVar11 = puVar12;
          if ((uint)puVar10 < *(uint *)((longlong)param_1 + 0x56c)) {
            puVar11 = *(uint **)(param_1[0xac] + (longlong)puVar8 * 8);
          }
          lVar9 = lVar2;
          FUN_18052f640(puVar11,&local_b0,iVar6,0,1);
          lVar7 = (longlong)local_ac;
          FUN_18052dbc0(*(longlong *)(puVar11 + 8) + (longlong)local_b0 * 4,lVar9,local_ac);
          FUN_18052dbc0(*(undefined8 *)(puVar11 + 8),lVar2 + lVar7 * 4,local_a8);
          uVar5 = *puVar11 + iVar6 & puVar11[2] - 1;
          if ((int)uVar5 < 0) {
            uVar5 = uVar5 + puVar11[2];
          }
          *puVar11 = uVar5;
          puVar10 = (uint *)(ulonglong)((uint)puVar10 + 1);
          puVar8 = (uint *)((longlong)puVar8 + 1);
        } while ((longlong)puVar8 < local_80);
      }
      FUN_18047c500(local_90);
      FUN_18047c500(&local_a0);
      (**(code **)(*param_1 + 0x228))(param_1,param_2,param_3);
      if ((*(char *)((longlong)param_1 + 0x554) != '\0') && (param_1[0xb7] != 0)) {
        FUN_18052fc90(param_2,*(undefined4 *)(param_1[0xb7] + 0x48));
      }
      param_1[0xbb] = param_1[0xbb] + (longlong)*(int *)(param_2 + 4);
    }
    else {
      (**(code **)(*param_1 + 0x48))(param_1,param_2,param_3);
      FUN_18052fc90(param_2,0);
      local_58 = bVar13;
    }
  }
  else {
    (**(code **)(*param_1 + 0x48))(param_1,param_2,param_3);
    local_58 = bVar13;
  }
  MXCSR = (uint)local_78;
  if (local_58 != '\0') {
    LOCK();
    *local_60 = 0;
    UNLOCK();
  }
  return;
}


  [27] 0x1812c0b60 size=152
      --- C ---

void .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@::
     vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____
               (longlong param_1,longlong param_2)

{
  int iVar1;
  longlong lVar2;
  
  if ((*(int *)(param_1 + 0xdc) == 0) || (**(longlong **)(param_1 + 0xd0) == 0)) {
    iVar1 = 0;
  }
  else {
    iVar1 = *(int *)(**(longlong **)(param_1 + 0xd0) + 0x8c);
  }
  if (iVar1 < *(int *)(param_1 + 0x104)) {
    lVar2 = (longlong)iVar1 * 8;
    do {
      if (*(char *)(param_2 + 0x120) == '\0') {
        memset(*(void **)(*(longlong *)(param_2 + 0x10) + lVar2),0,
               (longlong)*(int *)(param_2 + 4) << 3);
      }
      iVar1 = iVar1 + 1;
      lVar2 = lVar2 + 8;
    } while (iVar1 < *(int *)(param_1 + 0x104));
  }
  return;
}


  [28] 0x18052bdf0 size=432
      --- C ---

void .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__
               (longlong param_1,longlong param_2)

{
  int iVar1;
  int iVar2;
  longlong lVar3;
  int iVar4;
  uint uVar5;
  uint *puVar6;
  longlong lVar7;
  longlong lVar8;
  uint uVar9;
  longlong lVar10;
  int local_78;
  int local_74;
  undefined4 local_70;
  int local_68;
  int local_64;
  undefined4 local_60;
  undefined8 local_58;
  int local_4c;
  undefined1 local_48 [16];
  
  LOCK();
  *(undefined1 *)(param_1 + 0x164) = 1;
  UNLOCK();
  FUN_1812c37c0(param_1,&local_58);
  if (local_4c == 0) {
    iVar4 = 0;
  }
  else {
    iVar4 = FUN_18123d3f0(local_58);
  }
  iVar1 = *(int *)(param_1 + 0x3c);
  uVar9 = 0;
  iVar2 = *(int *)(param_2 + 4);
  lVar10 = 0;
  if (0 < (longlong)iVar4) {
    do {
      LOCK();
      *(undefined1 *)(param_2 + 0x120) = 0;
      UNLOCK();
      lVar3 = *(longlong *)(*(longlong *)(param_2 + 0x10) + lVar10 * 8);
      if (uVar9 < *(uint *)(param_1 + 0x56c)) {
        puVar6 = *(uint **)(*(longlong *)(param_1 + 0x560) + lVar10 * 8);
      }
      else {
        puVar6 = (uint *)0x0;
      }
      FUN_18052f640(puVar6,&local_78,iVar2,0,1);
      lVar7 = (longlong)local_74;
      FUN_18052dbc0(*(longlong *)(puVar6 + 8) + (longlong)local_78 * 4,lVar3,local_74);
      FUN_18052dbc0(*(undefined8 *)(puVar6 + 8),lVar3 + lVar7 * 4,local_70);
      uVar5 = *puVar6 + iVar2 & puVar6[2] - 1;
      if ((int)uVar5 < 0) {
        uVar5 = uVar5 + puVar6[2];
      }
      *puVar6 = uVar5;
      if (uVar9 < *(uint *)(param_1 + 0x56c)) {
        lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x560) + lVar10 * 8);
      }
      else {
        lVar7 = 0;
      }
      FUN_18052f640(lVar7,&local_68,iVar2,-(iVar1 + iVar2),1);
      lVar8 = (longlong)local_64;
      FUN_18052dbc0(lVar3,*(longlong *)(lVar7 + 0x20) + (longlong)local_68 * 4,local_64);
      FUN_18052dbc0(lVar3 + lVar8 * 4,*(undefined8 *)(lVar7 + 0x20),local_60);
      uVar9 = uVar9 + 1;
      lVar10 = lVar10 + 1;
    } while (lVar10 < iVar4);
  }
  FUN_18047c500(local_48);
  FUN_18047c500(&local_58);
  return;
}


  [29] 0x1804731c0 size=3
  [30] 0x1804731c0 size=3
  [31] 0x1812c0b40 size=3
  [32] 0x18113285a size=6
  [33] 0x1804731c0 size=3
  [34] 0x1804731c0 size=3
  [35] 0x1804731c0 size=3
  [36] 0x1804731c0 size=3
  [37] 0x1812c0ca0 size=3
  [38] 0x1804727a0 size=3
  [39] 0x1812c0df0 size=4
  [40] 0x18113285a size=6
  [41] 0x180484870 size=3
  [42] 0x1812c0cc0 size=3
  [43] 0x18052c8d0 size=18
  [44] 0x18052c8c0 size=16
  [45] 0x18052c880 size=49
      --- C ---

void .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__
               (longlong param_1,uint param_2)

{
  if (*(int *)(param_1 + 8) != 3) {
    return;
  }
  if (param_2 < *(uint *)(param_1 + 0x444)) {
    FUN_18115d300(param_1 + 0x400,
                  *(undefined8 *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)param_2 * 8));
    return;
  }
  FUN_18115d300(param_1 + 0x400,0);
  return;
}


  [46] 0x18052c7f0 size=141
      --- C ---

undefined8 *
.?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__
          (longlong param_1,undefined8 *param_2,uint param_3)

{
  longlong *plVar1;
  undefined8 *puVar2;
  longlong local_res8 [4];
  
  if ((*(int *)(param_1 + 8) == 3) && (param_3 < *(uint *)(param_1 + 0x444))) {
    plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x438) + (longlong)(int)param_3 * 8);
    if (plVar1 != (longlong *)0x0) {
      if ((undefined **)*plVar1 == Preset::vftable) {
        local_res8[0] = plVar1[2];
        FUN_18049c9e0(param_2,local_res8[0]);
        return param_2;
      }
      puVar2 = (undefined8 *)(*(code *)((undefined **)*plVar1)[4])(plVar1,local_res8);
      FUN_18049c9e0(param_2,*puVar2);
      return param_2;
    }
  }
  *param_2 = &DAT_1821dbf98;
  return param_2;
}


  [47] 0x1804714b0 size=3
  [48] 0x18052bde0 size=15
  [49] 0x1812bfff0 size=10
  [50] 0x18052bdd0 size=15
  [51] 0x1812bffb0 size=55
      --- C ---

void FUN_1812bffb0(longlong *param_1,undefined8 param_2,int param_3)

{
  if (*(code **)(*param_1 + 0xf8) == FUN_18052bdd0) {
    FUN_1811fc760(param_1 + 0x67,param_2,(longlong)param_3);
    return;
  }
  (**(code **)(*param_1 + 0xf8))();
  return;
}


  [52] 0x1812c0e20 size=3
  [53] 0x1812c0e10 size=3
  [54] 0x18052c490 size=14
  [55] 0x1812c1130 size=139
      --- C ---

void FUN_1812c1130(longlong param_1,longlong param_2)

{
  longlong *plVar1;
  int iVar2;
  longlong *plVar3;
  
  EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x74));
  plVar3 = *(longlong **)(param_1 + 0x18);
  iVar2 = *(int *)(param_1 + 0x24);
  plVar1 = plVar3 + iVar2;
  for (; plVar3 != plVar1; plVar3 = plVar3 + 1) {
    if (param_2 == *plVar3) goto LAB_1812c11a1;
  }
  if (*(int *)(param_1 + 0x20) < iVar2 + 1) {
    FUN_18047cb30(param_1 + 0x18,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8);
  }
  iVar2 = *(int *)(param_1 + 0x24);
  *(int *)(param_1 + 0x24) = iVar2 + 1;
  *(longlong *)(*(longlong *)(param_1 + 0x18) + (longlong)iVar2 * 8) = param_2;
LAB_1812c11a1:
                    /* WARNING: Could not recover jumptable at 0x0001812c11b4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x74));
  return;
}


  [56] 0x1812c1070 size=180
      --- C ---

void FUN_1812c1070(longlong param_1,longlong param_2)

{
  void *_Dst;
  int iVar1;
  longlong lVar2;
  int iVar3;
  
  EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x74));
  iVar1 = *(int *)(param_1 + 0x24);
  iVar3 = 0;
  lVar2 = 0;
  if (0 < iVar1) {
    do {
      if (param_2 == *(longlong *)(*(longlong *)(param_1 + 0x18) + lVar2 * 8)) {
        _Dst = (void *)(*(longlong *)(param_1 + 0x18) + (longlong)iVar3 * 8);
        memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar3) + -1) << 3);
        *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + -1;
        iVar1 = *(int *)(param_1 + 0x24);
        iVar3 = 0;
        if (0 < iVar1 * 2) {
          iVar3 = iVar1 * 2;
        }
        if (iVar3 < *(int *)(param_1 + 0x20)) {
          if (iVar1 < 8) {
            iVar1 = 8;
          }
          if (iVar1 < *(int *)(param_1 + 0x20)) {
            FUN_18047cb30(param_1 + 0x18);
          }
        }
        break;
      }
      iVar3 = iVar3 + 1;
      lVar2 = lVar2 + 1;
    } while (lVar2 < iVar1);
  }
                    /* WARNING: Could not recover jumptable at 0x0001812c111d. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x74));
  return;
}


  [57] 0x1812c11d0 size=5
  [58] 0x1812bf000 size=137
      --- C ---

void FUN_1812bf000(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4)

{
  undefined1 auStack_b8 [32];
  undefined1 local_98;
  void *local_68;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  ulonglong local_40;
  
  local_40 = DAT_182615970 ^ (ulonglong)auStack_b8;
  local_50 = 4;
  local_48 = 0xffffffff;
  local_68 = (void *)0x0;
  local_60 = 0;
  local_58 = 0;
  local_98 = param_4;
  FUN_18123c5f0(param_2,&local_68);
                    /* WARNING: Subroutine does not return */
  free(local_68);
}


  [59] 0x1804d7000 size=33
  [60] 0x1812bffa0 size=3
  [61] 0x18052c310 size=339
      --- C ---

/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
/* WARNING: Removing unreachable block (ram,0x00018052c3fa) */
/* WARNING: Removing unreachable block (ram,0x00018052c3ff) */
/* WARNING: Removing unreachable block (ram,0x00018052c40a) */
/* WARNING: Removing unreachable block (ram,0x00018052c40f) */
/* WARNING: Removing unreachable block (ram,0x00018052c413) */
/* WARNING: Removing unreachable block (ram,0x00018052c3d6) */

void FUN_18052c310(undefined8 param_1,longlong param_2)

{
  int iVar1;
  undefined1 auStack_d8 [32];
  undefined4 local_b8;
  void *local_b0 [5];
  undefined1 local_88 [40];
  void *local_60 [5];
  void *local_38 [5];
  ulonglong local_10;
  
  local_10 = DAT_182615970 ^ (ulonglong)auStack_d8;
  local_b8 = 0;
  FUN_18124a040(local_88,8);
  FUN_1804db6f0(param_2 + 0x10,local_b0,0);
  iVar1 = FUN_18123c5f0(local_b0,local_88);
  if (iVar1 == 0) {
                    /* WARNING: Subroutine does not return */
    free(local_b0[0]);
  }
  FUN_18124a040(local_38,6);
  FUN_1804db6f0(param_2 + 0x10,local_60,0);
  FUN_18123c5f0(local_60,local_38);
                    /* WARNING: Subroutine does not return */
  free(local_60[0]);
}


  [62] 0x1804d7030 size=10
  [63] 0x1812c0230 size=525
      --- C ---

/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */

void FUN_1812c0230(longlong param_1,longlong param_2)

{
  bool bVar1;
  char cVar2;
  int iVar3;
  longlong lVar4;
  undefined8 uVar5;
  undefined1 auStack_98 [32];
  int local_78;
  int local_74;
  int local_70;
  void *local_68 [2];
  undefined1 local_58 [24];
  ulonglong local_40;
  
  local_40 = DAT_182615970 ^ (ulonglong)auStack_98;
  lVar4 = FUN_1812c37c0(param_1,local_68);
  cVar2 = FUN_1804df970(param_2,lVar4);
  if ((cVar2 == '\0') || (cVar2 = FUN_1804df970(param_2 + 0x10,lVar4 + 0x10), cVar2 == '\0')) {
    bVar1 = false;
  }
  else {
    bVar1 = true;
  }
  FUN_18047c500(local_58);
  FUN_18047c500(local_68);
  if (!bVar1) {
    local_74 = *(int *)(param_1 + 0x100);
    local_78 = *(int *)(param_1 + 0xec);
    local_70 = *(int *)(param_1 + 0x104);
    if ((*(int *)(param_2 + 0xc) == *(int *)(param_1 + 0xdc)) &&
       (*(int *)(param_2 + 0x1c) == local_78)) {
      if (0 < *(int *)(param_1 + 0xdc)) {
        if (*(int *)(param_1 + 0xdc) == 0) {
          lVar4 = 0;
        }
        else {
          lVar4 = **(longlong **)(param_1 + 0xd0);
        }
        FUN_1804db6f0(param_2,local_68,0);
        FUN_18123d980(lVar4 + 0x10,local_68);
        iVar3 = FUN_18123d3f0(local_68);
        if (iVar3 != 0) {
          FUN_18123d980(lVar4 + 0x60,local_68);
        }
        FUN_18123d3f0(local_68);
                    /* WARNING: Subroutine does not return */
        free(local_68[0]);
      }
      if (0 < local_78) {
        if (*(int *)(param_1 + 0xec) == 0) {
          lVar4 = 0;
        }
        else {
          lVar4 = **(longlong **)(param_1 + 0xe0);
        }
        FUN_1804db6f0(param_2 + 0x10,local_68,0);
        FUN_18123d980(lVar4 + 0x10,local_68);
        iVar3 = FUN_18123d3f0(local_68);
        if (iVar3 != 0) {
          FUN_18123d980(lVar4 + 0x60,local_68);
        }
        FUN_18123d3f0(local_68);
                    /* WARNING: Subroutine does not return */
        free(local_68[0]);
      }
      if ((local_74 == 0) && (local_70 == 0)) {
        uVar5 = 0;
      }
      else {
        uVar5 = 1;
      }
      FUN_1812c0000(param_1,0,uVar5);
    }
  }
}


############ VTABLE 0x1824ac7a8 (64 slots) ############
  [0] 0x18052fd40 size=38
  [1] 0x18052cfb0 size=61
      --- C ---

void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(longlong param_1)

{
  FUN_1812b4430(param_1 + 0x14,0,2);
  *(float *)(param_1 + 0x58) = (float)(DAT_1824c4230 / (double)*(float *)(param_1 + 0x24));
  return;
}


  [2] 0x180529550 size=191
      --- C ---

void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__
               (longlong *param_1,undefined4 param_2,undefined4 *param_3,int param_4)

{
  int *piVar1;
  longlong lVar2;
  uint *puVar3;
  
  lVar2 = (longlong)param_4;
  puVar3 = (uint *)(param_1 + (lVar2 + 9) * 8);
  *(undefined4 *)(*(longlong *)(puVar3 + 8) + (longlong)(int)*puVar3 * 4) = *param_3;
  *puVar3 = puVar3[2] - 1 & *puVar3 + 1;
  puVar3 = (uint *)(param_1 + (lVar2 + 7) * 8);
  *(undefined4 *)(*(longlong *)(puVar3 + 8) + (longlong)(int)*puVar3 * 4) = param_2;
  *puVar3 = puVar3[2] - 1 & *puVar3 + 1;
  piVar1 = (int *)((longlong)param_1 + lVar2 * 4 + 0x3c0);
  *piVar1 = *piVar1 + 1;
  if ((*(int *)((longlong)param_1 + lVar2 * 4 + 0x3c0) == (int)param_1[0x79] / 2) && (param_4 == 0))
  {
    (**(code **)(*param_1 + 0x38))(param_1);
  }
  if (*(int *)((longlong)param_1 + lVar2 * 4 + 0x3c0) == (int)param_1[0x79]) {
    *(undefined4 *)((longlong)param_1 + lVar2 * 4 + 0x3c0) = 0;
    FUN_1805300f0(param_1,param_4);
  }
  return;
}


  [3] 0x1804714b0 size=3
  [4] 0x18052ce00 size=98
      --- C ---

void .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(longlong param_1)

{
  float fVar1;
  
  .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__();
  fVar1 = *(float *)(param_1 + 0x3fc);
  *(float *)(param_1 + 0x3fc) = *(float *)(param_1 + 0x24);
  if (fVar1 != *(float *)(param_1 + 0x24)) {
    (**(code **)(*(longlong *)(param_1 + 0x3d8) + 0x20))((longlong *)(param_1 + 0x3d8));
  }
  *(undefined4 *)(param_1 + 0x240458) = 4;
  *(undefined4 *)(param_1 + 0x240467) = 0x1010101;
  *(undefined4 *)(param_1 + 0x24046b) = 0x1010101;
  return;
}


  [5] 0x1804714b0 size=3
  [6] 0x1804714b0 size=3
  [7] 0x1804714b0 size=3
  [8] 0x1804727a0 size=3
  [9] 0x1804714b0 size=3
  [10] 0x1804714b0 size=3
  [11] 0x1804714b0 size=3
  [12] 0x1804714b0 size=3
  [13] 0x1804714b0 size=3
  [14] 0x1804714b0 size=3
  [15] 0x1804714b0 size=3
  [16] 0x1804714b0 size=3
  [17] 0x1804714b0 size=3
  [18] 0x1804714b0 size=3
  [19] 0x1804714b0 size=3
  [20] 0x1804714b0 size=3
  [21] 0x1804714b0 size=3
  [22] 0x1804714b0 size=3
  [23] 0x1804714b0 size=3
  [24] 0x18052cec0 size=88
      --- C ---

void .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(longlong param_1)

{
  int iVar1;
  
  iVar1 = *(int *)(param_1 + 0x2404cc);
  while( true ) {
    if (iVar1 < 1) {
      return;
    }
    iVar1 = iVar1 + -1;
    if ((*(int *)(param_1 + 0x2404cc) <= iVar1) &&
       (iVar1 = *(int *)(param_1 + 0x2404cc) + -1, iVar1 < 0)) break;
    FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 0x2404c0) + (longlong)iVar1 * 8));
  }
  return;
}


  [25] 0x18052ce90 size=48
      --- C ---

undefined1 .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(longlong param_1)

{
  if ((*(char *)(param_1 + 0x240464) != '\0') && (*(char *)(param_1 + 0x240464) != '\0')) {
    *(undefined1 *)(param_1 + 0x240464) = 0;
    FUN_18052fbd0();
  }
  return 0;
}


  [26] 0x18052ce80 size=14
  [27] 0x1804727a0 size=3
  [28] 0x18052ce70 size=9
  [29] 0x180484870 size=3
  [30] 0x1804714b0 size=3
  [31] 0x1804714b0 size=3
  [32] 0x44cfb42858ddbe60 (invalid/enc)
  [33] 0x7955c8b128 (invalid/enc)
  [34] 0x182507b08 size=0
  [35] 0x180546620 size=62
      --- C ---

undefined8 *
.?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__
          (undefined8 *param_1,ulonglong param_2)

{
  *param_1 = juce::WindowsMediaAudioFormat::vftable;
  FUN_1813affa0();
  if ((param_2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
    free(param_1);
  }
  return param_1;
}


  [36] 0x1813afeb0 size=43
      --- C ---

undefined8 *
.?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__
          (longlong param_1,undefined8 *param_2)

{
  *param_2 = 0;
  param_2[1] = 0;
  FUN_18048c4c0(param_2,*(undefined8 *)(param_1 + 0x10),*(undefined4 *)(param_1 + 0x1c));
  return param_2;
}


  [37] 0x1813afef0 size=130
      --- C ---

void .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__
               (longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 *puVar1;
  char cVar2;
  undefined8 *puVar3;
  undefined8 *local_20;
  int local_14;
  
  (**(code **)(*param_1 + 8))(param_1,&local_20,param_3,param_4,0xfffffffffffffffe);
  puVar1 = local_20 + local_14;
  puVar3 = local_20;
  while( true ) {
    if (puVar3 == puVar1) {
      FUN_180488c50(&local_20);
                    /* WARNING: Subroutine does not return */
      free(local_20);
    }
    cVar2 = FUN_18123fe10(param_2,*puVar3);
    if (cVar2 != '\0') break;
    puVar3 = puVar3 + 1;
  }
  FUN_180488c50(&local_20);
                    /* WARNING: Subroutine does not return */
  free(local_20);
}


  [38] 0x18136cc80 size=13
  [39] 0x18136cc60 size=13
  [40] 0x18136cc50 size=3
  [41] 0x18136cc40 size=3
  [42] 0x18136cc30 size=3
  [43] 0x1813afd80 size=80
      --- C ---

void .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__
               (undefined8 param_1,undefined8 param_2)

{
  undefined1 auStack_58 [32];
  void *local_38 [5];
  ulonglong local_10;
  
  local_10 = DAT_182615970 ^ (ulonglong)auStack_58;
  FUN_18124a040(local_38,8);
  FUN_18123c5f0(param_2,local_38);
                    /* WARNING: Subroutine does not return */
  free(local_38[0]);
}


  [44] 0x1813afe80 size=13
  [45] 0x18136cbb0 size=108
      --- C ---

undefined8 *
.?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__
          (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 uVar1;
  undefined8 *puVar2;
  
  uVar1 = FUN_1811316e0(0x90,param_2,param_3,param_4,0xfffffffffffffffe);
  puVar2 = (undefined8 *)FUN_180545be0(uVar1,param_2);
  if ((double)puVar2[1] <= 0.0) {
    if ((char)param_3 == '\0') {
      puVar2[10] = 0;
    }
    (**(code **)*puVar2)(puVar2,1);
    puVar2 = (undefined8 *)0x0;
  }
  return puVar2;
}


  [46] 0x1813afe40 size=32
  [47] 0x1813afe70 size=3
  [48] 0x1813afcf0 size=132
      --- C ---

undefined8
FUN_1813afcf0(longlong *param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4,
             undefined4 param_5,undefined8 param_6,undefined4 param_7)

{
  char cVar1;
  undefined4 uVar2;
  undefined8 uVar3;
  
  cVar1 = (**(code **)(*param_1 + 0x40))(param_1,param_4);
  if (cVar1 == '\0') {
    uVar3 = 0;
  }
  else {
    uVar2 = FUN_18123d3f0(param_4);
    uVar3 = (**(code **)(*param_1 + 0x70))(param_1,param_2,param_3,uVar2,param_5,param_6,param_7);
  }
  return uVar3;
}


  [49] 0x18136cba0 size=3
  [50] 0x1825080a8 size=0
  [51] 0x18053e010 size=47
      --- C ---

void FUN_18053e010(undefined8 *param_1)

{
  *param_1 = juce::OggReader::vftable;
  FUN_181371350(param_1 + 0xc);
                    /* WARNING: Subroutine does not return */
  free((void *)param_1[0x7c]);
}


  [52] 0x1813af190 size=138
      --- C ---

void FUN_1813af190(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4,
                  undefined4 *param_5,undefined4 *param_6,undefined4 *param_7)

{
  if (*(uint *)(param_1 + 4) < 2) {
    (**(code **)(*param_1 + 0x10))();
  }
  else {
    (**(code **)(*param_1 + 0x10))();
  }
  *param_4 = 0;
  *param_5 = 0;
  *param_6 = 0;
  *param_7 = 0;
  return;
}


  [53] 0x1813af220 size=771
      --- C ---

void FUN_1813af220(longlong *param_1,longlong param_2,ulonglong param_3,longlong param_4,int param_5
                  )

{
  float fVar1;
  int iVar2;
  ulonglong uVar3;
  bool bVar4;
  int iVar5;
  float fVar6;
  char cVar7;
  longlong lVar8;
  float *pfVar9;
  int iVar10;
  longlong lVar11;
  longlong lVar12;
  int iVar13;
  int iVar14;
  int *piVar15;
  undefined8 *puVar16;
  longlong lVar17;
  undefined8 *puVar18;
  float fVar19;
  float fVar20;
  float local_1c4;
  float local_1c0;
  float local_1bc;
  float local_1b8;
  float local_1b4;
  float fStack_1b0;
  undefined8 *local_1a8;
  longlong local_1a0;
  ulonglong local_198;
  undefined8 local_190;
  undefined1 local_188 [16];
  undefined8 *local_178;
  void *local_170;
  undefined1 local_68;
  
  local_190 = 0xfffffffffffffffe;
  lVar11 = (longlong)param_5;
  if ((longlong)param_3 < 1) {
    lVar8 = 0;
    if (0 < param_5) {
      do {
        *(undefined8 *)(param_4 + lVar8 * 8) = 0;
        lVar8 = lVar8 + 1;
      } while (lVar8 < lVar11);
    }
    return;
  }
  iVar10 = (int)param_3;
  if (0x1000 < (longlong)param_3) {
    iVar10 = 0x1000;
  }
  local_1a0 = lVar11;
  FUN_180535db0(local_188,lVar11,iVar10);
  fVar6 = DAT_1824c3c28;
  LOCK();
  local_68 = 0;
  UNLOCK();
  local_1a8 = local_178;
  bVar4 = true;
  local_198 = (ulonglong)iVar10;
  puVar16 = local_178;
  do {
    uVar3 = param_3;
    if ((longlong)local_198 < (longlong)param_3) {
      uVar3 = local_198;
    }
    iVar13 = (int)uVar3;
    lVar17 = (longlong)iVar13;
    lVar8 = param_2;
    iVar10 = iVar13;
    iVar14 = 0;
    if (param_2 < 0) {
      lVar8 = lVar11;
      iVar14 = (int)-param_2;
      if (lVar17 < -param_2) {
        iVar14 = iVar13;
      }
      while (lVar8 = lVar8 + -1, -1 < lVar8) {
        if ((void *)puVar16[lVar8] != (void *)0x0) {
          memset((void *)puVar16[lVar8],0,(longlong)iVar14 << 2);
        }
      }
      iVar10 = iVar13 - iVar14;
      lVar8 = 0;
    }
    if (0 < iVar10) {
      iVar5 = (int)param_1[4];
      if (param_5 < (int)param_1[4]) {
        iVar5 = param_5;
      }
      cVar7 = (**(code **)(*param_1 + 0x20))(param_1,puVar16,iVar5,iVar14,lVar8,iVar10);
      if (cVar7 == '\0') break;
      lVar8 = (longlong)(int)param_1[4];
      if ((int)param_1[4] < param_5) {
        for (; lVar8 < lVar11; lVar8 = lVar8 + 1) {
          if ((void *)puVar16[lVar8] != (void *)0x0) {
            memset((void *)puVar16[lVar8],0,lVar17 * 4);
          }
        }
      }
    }
    puVar18 = puVar16;
    lVar8 = lVar11;
    if (0 < lVar11) {
      lVar12 = param_4 - (longlong)puVar16;
      do {
        if (*(char *)((longlong)param_1 + 0x24) == '\0') {
          piVar15 = (int *)*puVar16;
          if (iVar13 < 1) {
            iVar10 = 0;
            iVar14 = 0;
          }
          else {
            iVar10 = *piVar15;
            iVar14 = iVar10;
            iVar5 = iVar13;
            while (iVar5 = iVar5 + -1, 0 < iVar5) {
              piVar15 = piVar15 + 1;
              iVar2 = *piVar15;
              if (iVar10 < iVar2) {
                iVar10 = iVar2;
              }
              if (iVar2 < iVar14) {
                iVar14 = iVar2;
              }
            }
          }
          fVar20 = (float)iVar10 * fVar6;
          fVar19 = (float)iVar14 * fVar6;
          if (fVar20 <= fVar19) {
            fVar20 = fVar19;
          }
        }
        else {
          FUN_1804d5400(&local_1bc,*puVar16,uVar3 & 0xffffffff);
          fVar19 = local_1bc;
          fVar20 = local_1b8;
        }
        if (bVar4) {
          local_1b4 = fVar19;
          fStack_1b0 = fVar20;
          pfVar9 = &local_1b4;
        }
        else {
          fVar1 = *(float *)(lVar12 + 4 + (longlong)puVar16);
          if (fVar20 <= fVar1) {
            fVar20 = fVar1;
          }
          if (*(float *)(lVar12 + (longlong)puVar16) <= fVar19) {
            fVar19 = *(float *)(lVar12 + (longlong)puVar16);
          }
          local_1c4 = fVar19;
          if (fVar20 <= fVar19) {
            local_1c0 = fVar19;
          }
          else {
            local_1c0 = fVar20;
          }
          pfVar9 = &local_1c4;
        }
        *(undefined8 *)(lVar12 + (longlong)puVar16) = *(undefined8 *)pfVar9;
        puVar16 = puVar16 + 1;
        lVar11 = lVar11 + -1;
        puVar18 = local_1a8;
        lVar8 = local_1a0;
      } while (lVar11 != 0);
    }
    bVar4 = false;
    param_3 = param_3 - lVar17;
    param_2 = param_2 + lVar17;
    puVar16 = puVar18;
    lVar11 = lVar8;
  } while (0 < (longlong)param_3);
                    /* WARNING: Subroutine does not return */
  free(local_170);
}


  [54] 0x1813af160 size=29
  [55] 0x18053dba0 size=990
      --- C ---

undefined8
FUN_18053dba0(longlong param_1,longlong param_2,int param_3,int param_4,longlong param_5,int param_6
             )

{
  undefined4 uVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  longlong lVar5;
  longlong lVar6;
  int iVar7;
  int iVar8;
  int local_res20;
  longlong local_48;
  
  iVar4 = param_6;
  local_res20 = param_4;
  if (param_6 < 1) {
    return 1;
  }
  do {
    iVar2 = (*(int *)(param_1 + 0x4f4) - (int)param_5) + *(int *)(param_1 + 0x4f0);
    if ((*(int *)(param_1 + 0x4f0) <= param_5) && (0 < iVar2)) {
      iVar8 = iVar4;
      if (iVar2 < iVar4) {
        iVar8 = iVar2;
      }
      iVar2 = param_3;
      if (*(int *)(param_1 + 0x3c8) < param_3) {
        iVar2 = *(int *)(param_1 + 0x3c8);
      }
      iVar2 = iVar2 + -1;
      if (-1 < iVar2) {
        lVar5 = (longlong)iVar2 * 8;
        do {
          if (*(longlong *)(lVar5 + param_2) != 0) {
            memcpy((void *)(*(longlong *)(lVar5 + param_2) + (longlong)local_res20 * 4),
                   (void *)(*(longlong *)(*(longlong *)(param_1 + 0x3d8) + lVar5) +
                           (longlong)((int)param_5 - *(int *)(param_1 + 0x4f0)) * 4),
                   (longlong)iVar8 << 2);
          }
          lVar5 = lVar5 + -8;
          iVar2 = iVar2 + -1;
          iVar4 = param_6;
        } while (-1 < iVar2);
      }
      iVar4 = iVar4 - iVar8;
      param_5 = param_5 + iVar8;
      local_res20 = local_res20 + iVar8;
      param_6 = iVar4;
      if (iVar4 == 0) {
        return 1;
      }
    }
    if ((param_5 < *(int *)(param_1 + 0x4f0)) ||
       ((longlong)(*(int *)(param_1 + 0x4f0) + *(int *)(param_1 + 0x4f4)) < iVar4 + param_5)) {
      *(undefined4 *)(param_1 + 0x4f4) = *(undefined4 *)(param_1 + 0x3cc);
      iVar2 = -0x83;
      iVar8 = 0;
      if (0 < (int)param_5) {
        iVar8 = (int)param_5;
      }
      *(int *)(param_1 + 0x4f0) = iVar8;
      if (1 < *(int *)(param_1 + 0xe0)) {
        iVar2 = (int)*(undefined8 *)(param_1 + 0xd8);
      }
      if (iVar8 != iVar2) {
        FUN_18136fc00(param_1 + 0x60);
      }
      iVar8 = 0;
      for (iVar2 = *(int *)(param_1 + 0x4f4); 0 < iVar2; iVar2 = iVar2 - iVar7) {
        local_48 = 0;
        iVar4 = param_6;
        if (*(int *)(param_1 + 0xe0) < 2) {
LAB_18053deb3:
          if ((0 < iVar2) && (*(char *)(param_1 + 0x4e8) == '\0')) {
            if ((iVar8 == 0) && (iVar2 == *(int *)(param_1 + 0x3cc))) {
              LOCK();
              *(undefined1 *)(param_1 + 0x4e8) = 1;
              UNLOCK();
            }
            iVar7 = 0;
            if (0 < *(int *)(param_1 + 0x3c8)) {
              lVar5 = 0;
              do {
                memset((void *)(*(longlong *)(*(longlong *)(param_1 + 0x3d8) + lVar5) +
                               (longlong)iVar8 * 4),0,(longlong)iVar2 << 2);
                iVar7 = iVar7 + 1;
                lVar5 = lVar5 + 8;
              } while (iVar7 < *(int *)(param_1 + 0x3c8));
            }
          }
          break;
        }
        do {
          if (*(int *)(param_1 + 0xe0) == 4) {
            lVar5 = *(longlong *)(param_1 + 0x280);
            if ((-1 < *(int *)(param_1 + 0x2a0)) &&
               (*(int *)(param_1 + 0x2a0) < *(int *)(param_1 + 0x29c))) {
              iVar7 = 0;
              if (0 < *(int *)(lVar5 + 4)) {
                lVar6 = 0;
                do {
                  iVar7 = iVar7 + 1;
                  *(longlong *)(lVar6 + *(longlong *)(param_1 + 0x290)) =
                       *(longlong *)(*(longlong *)(param_1 + 0x288) + -8 + lVar6 + 8) +
                       (longlong)*(int *)(param_1 + 0x2a0) * 4;
                  lVar6 = lVar6 + 8;
                } while (iVar7 < *(int *)(lVar5 + 4));
              }
              iVar7 = *(int *)(param_1 + 0x29c) - *(int *)(param_1 + 0x2a0);
              if (iVar7 != 0) {
                if (iVar2 < iVar7) {
                  iVar7 = iVar2;
                }
                uVar1 = *(undefined4 *)(*(longlong *)(*(longlong *)(param_1 + 200) + 0x20) + 0x1668)
                ;
                if ((iVar7 == 0) || (*(int *)(param_1 + 0x2a0) + iVar7 <= *(int *)(param_1 + 0x29c))
                   ) {
                  *(int *)(param_1 + 0x2a0) = *(int *)(param_1 + 0x2a0) + iVar7;
                }
                *(longlong *)(param_1 + 0xd8) =
                     *(longlong *)(param_1 + 0xd8) + (longlong)(iVar7 << ((byte)uVar1 & 0x1f));
                local_48 = *(longlong *)(param_1 + 0x290);
                break;
              }
            }
          }
          iVar7 = FUN_181371870(param_1 + 0x60);
          if (iVar7 == -2) goto LAB_18053deb3;
        } while (0 < iVar7);
        if (iVar7 < 1) goto LAB_18053deb3;
        iVar3 = *(int *)(param_1 + 0x20);
        if (*(int *)(param_1 + 0x3c8) < *(int *)(param_1 + 0x20)) {
          iVar3 = *(int *)(param_1 + 0x3c8);
        }
        lVar5 = (longlong)(iVar3 + -1);
        if (-1 < iVar3 + -1) {
          do {
            LOCK();
            *(undefined1 *)(param_1 + 0x4e8) = 0;
            UNLOCK();
            memcpy((void *)(*(longlong *)(*(longlong *)(param_1 + 0x3d8) + lVar5 * 8) +
                           (longlong)iVar8 * 4),*(void **)(local_48 + lVar5 * 8),
                   (longlong)iVar7 << 2);
            lVar5 = lVar5 + -1;
          } while (-1 < lVar5);
        }
        iVar8 = iVar8 + iVar7;
      }
    }
    if (iVar4 < 1) {
      return 1;
    }
  } while( true );
}


  [56] 0x182507300 size=0
  [57] 0x1805386e0 size=120
      --- C ---

undefined8 * FUN_1805386e0(undefined8 *param_1,uint param_2)

{
  undefined8 *puVar1;
  
  *param_1 = juce::AudioFormatReaderSource::vftable;
  if (*(char *)(param_1 + 2) == '\0') {
    param_1[1] = 0;
  }
  else {
    puVar1 = (undefined8 *)param_1[1];
    param_1[1] = 0;
    if (puVar1 == (undefined8 *)0x0) goto LAB_180538737;
    (**(code **)*puVar1)(puVar1,1);
  }
  puVar1 = (undefined8 *)param_1[1];
  if (puVar1 != (undefined8 *)0x0) {
    (**(code **)*puVar1)(puVar1,1);
  }
LAB_180538737:
  if ((param_2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
    free(param_1);
  }
  return param_1;
}


  [58] 0x1813aed50 size=3
  [59] 0x1813aed40 size=3
  [60] 0x1813aec40 size=242
      --- C ---

void FUN_1813aec40(longlong param_1,undefined8 *param_2)

{
  longlong lVar1;
  longlong lVar2;
  longlong lVar3;
  longlong lVar4;
  ulonglong uVar5;
  int iVar6;
  
  iVar6 = *(int *)((longlong)param_2 + 0xc);
  if (0 < iVar6) {
    lVar1 = *(longlong *)(param_1 + 0x18);
    lVar2 = *(longlong *)(param_1 + 8);
    if (*(char *)(param_1 + 0x20) != '\0') {
      lVar3 = *(longlong *)(lVar2 + 0x18);
      lVar4 = lVar1 % lVar3;
      uVar5 = (lVar1 + iVar6) % lVar3;
      if (lVar4 < (longlong)uVar5) {
        FUN_1813af530(lVar2,*param_2,*(undefined4 *)(param_2 + 1),(int)uVar5 - (int)lVar4,lVar4);
        *(ulonglong *)(param_1 + 0x18) = uVar5;
        return;
      }
      iVar6 = (int)lVar3 - (int)lVar4;
      FUN_1813af530(lVar2,*param_2,*(undefined4 *)(param_2 + 1),iVar6,lVar4);
      FUN_1813af530(*(undefined8 *)(param_1 + 8),*param_2,*(int *)(param_2 + 1) + iVar6,
                    uVar5 & 0xffffffff,0);
      *(ulonglong *)(param_1 + 0x18) = uVar5;
      return;
    }
    FUN_1813af530(lVar2,*param_2,*(undefined4 *)(param_2 + 1),(longlong)iVar6,lVar1);
    *(longlong *)(param_1 + 0x18) =
         *(longlong *)(param_1 + 0x18) + (longlong)*(int *)((longlong)param_2 + 0xc);
  }
  return;
}


  [61] 0x1813aed90 size=5
  [62] 0x1813aed60 size=24
  [63] 0x1813aeda0 size=9
############ VTABLE 0x1824ab7c0 (64 slots) ############
  [0] 0x1805384a8 size=12
  [1] 0x18052bd00 size=189
      --- C ---

/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */

void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@
     ::
     vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__
               (longlong param_1,undefined8 param_2,undefined8 *param_3)

{
  uint *_Memory;
  uint uVar1;
  undefined1 uVar2;
  int iVar3;
  undefined1 auStack_58 [32];
  longlong local_38;
  undefined8 local_30;
  undefined8 *local_28;
  ulonglong local_20;
  
  local_30 = 0xfffffffffffffffe;
  local_20 = DAT_182615970 ^ (ulonglong)auStack_58;
  local_38 = *(longlong *)(param_1 + 0x478);
  _Memory = (uint *)(local_38 + -0x10);
  if ((*_Memory & 0x30000000) == 0) {
    LOCK();
    *_Memory = *_Memory + 1;
    UNLOCK();
  }
  local_28 = param_3;
  iVar3 = FUN_18048cbc0(param_2,local_38);
  if ((*_Memory & 0x30000000) == 0) {
    LOCK();
    uVar1 = *_Memory;
    *_Memory = *_Memory - 1;
    UNLOCK();
    if (uVar1 == 0) {
                    /* WARNING: Subroutine does not return */
      free(_Memory);
    }
  }
  if (iVar3 == 0) {
    uVar2 = FUN_180528b30(param_1 + 0x470);
    *(undefined1 *)(param_1 + 0x404) = uVar2;
  }
  (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1);
}


  [2] 0x182507040 size=0
  [3] 0x180536b60 size=22
  [4] 0x180536b60 size=22
  [5] 0x1805379a0 size=104
      --- C ---

void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@
     ::
     vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__
               (longlong param_1,undefined4 *param_2)

{
  uint uVar1;
  longlong lVar2;
  longlong lVar3;
  longlong lVar4;
  
  uVar1 = *(uint *)(param_1 + 8);
  lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x10) + 0x168);
  lVar3 = lVar2 + 0x3d8;
  if (uVar1 < *(uint *)(lVar2 + 0x444)) {
    lVar4 = *(longlong *)(*(longlong *)(lVar2 + 0x438) + (longlong)(int)uVar1 * 8);
  }
  else {
    lVar4 = 0;
  }
  *(undefined4 *)(lVar4 + 0x80c) = *param_2;
  if ((int)uVar1 < 0) {
    *(undefined4 *)(lVar2 + 0x240467) = 0x1010101;
    *(undefined4 *)(lVar2 + 0x24046b) = 0x1010101;
    FUN_18052fc30(lVar3);
    return;
  }
  *(undefined1 *)((longlong)(int)uVar1 + 0x24008f + lVar3) = 1;
  FUN_18052fc30(lVar3);
  return;
}


  [6] 0x180536b50 size=8
  [7] 0x18048dc80 size=15
  [8] 0x180481210 size=5
  [9] 0x891a (invalid/enc)
  [10] 0x182505588 size=0
  [11] 0x180536850 size=22
  [12] 0x180536850 size=22
  [13] 0x180537e90 size=150
      --- C ---

void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@
     ::
     vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__
               (longlong param_1,float *param_2)

{
  longlong lVar1;
  char cVar2;
  int iVar3;
  
  iVar3 = (int)*param_2;
  if ((*(char *)(*(longlong *)(param_1 + 8) + 0x41) != '\0') &&
     (cVar2 = FUN_180528d50(), cVar2 != '\0')) {
    return;
  }
  lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x168);
  *(undefined1 *)(lVar1 + 0x3cc) = 1;
  *(undefined1 *)(lVar1 + 0x1b6) = 1;
  if (iVar3 == 1) {
    *(undefined4 *)(lVar1 + 0x1ac) = 4;
  }
  else if (iVar3 == 2) {
    *(undefined4 *)(lVar1 + 0x1ac) = 8;
  }
  else if (iVar3 == 3) {
    *(undefined4 *)(lVar1 + 0x1ac) = 0x10;
  }
  else {
    *(undefined4 *)(lVar1 + 0x1ac) = 2;
  }
  (**(code **)(**(longlong **)(*(longlong *)(param_1 + 8) + 0x168) + 0x20))();
  return;
}


  [14] 0x180536840 size=8
  [15] 0x18048db00 size=15
  [16] 0x180481210 size=5
  [17] 0x182506590 size=0
  [18] 0x180536f20 size=14
  [19] 0x180536f20 size=14
  [20] 0x180537290 size=41
      --- C ---

undefined8
.?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@
::
vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__
          (undefined8 param_1,undefined8 param_2,float *param_3)

{
  FUN_1812339a0(param_2,(double)*param_3,1);
  return param_2;
}


  [21] 0x180536f10 size=8
  [22] 0x18048db00 size=15
  [23] 0x180481210 size=5
  [24] 0x182505910 size=0
  [25] 0x180536610 size=30
  [26] 0x180536610 size=30
  [27] 0x1805380e0 size=35
  [28] 0x180536600 size=8
  [29] 0x1805365f0 size=15
  [30] 0x180481210 size=5
  [31] 0x182504cd0 size=0
  [32] 0x180536d60 size=22
  [33] 0x180536d60 size=22
  [34] 0x1805375e0 size=73
      --- C ---

void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@
     ::
     vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__
               (longlong param_1,undefined4 *param_2)

{
  longlong lVar1;
  
  lVar1 = **(longlong **)(param_1 + 8);
  if (*(int *)(lVar1 + 0x444) != 0) {
    *(undefined4 *)(**(longlong **)(lVar1 + 0x438) + 0x80c) = *param_2;
    *(undefined1 *)(lVar1 + 0x240467) = 1;
    FUN_18052fc30();
    return;
  }
  uRam000000000000080c = *param_2;
  *(undefined1 *)(lVar1 + 0x240467) = 1;
  FUN_18052fc30();
  return;
}


  [35] 0x180536d50 size=8
  [36] 0x18048db00 size=15
  [37] 0x180481210 size=5
  [38] 0x182506f18 size=0
  [39] 0x180536dc0 size=22
  [40] 0x180536dc0 size=22
  [41] 0x1805374e0 size=163
      --- C ---

void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@
     ::
     vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__
               (longlong param_1,float *param_2)

{
  longlong *plVar1;
  longlong lVar2;
  float fVar3;
  float fVar4;
  float fVar5;
  
  fVar3 = logf(DAT_1824c43e8);
  plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x168);
  lVar2 = *plVar1;
  fVar4 = powf(*param_2 * DAT_1824c3cb8,DAT_1824c3ef8);
  fVar5 = logf(DAT_1824c45e4);
  fVar3 = expf(fVar4 * (fVar5 - fVar3) + fVar3);
                    /* WARNING: Could not recover jumptable at 0x000180537580. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(lVar2 + 0x80))(plVar1,fVar3);
  return;
}


  [42] 0x180536db0 size=8
  [43] 0x18048db00 size=15
  [44] 0x180481210 size=5
  [45] 0x182506090 size=0
  [46] 0x1805367f0 size=22
  [47] 0x1805367f0 size=22
  [48] 0x180537f60 size=25
  [49] 0x1805367e0 size=8
  [50] 0x18048db00 size=15
  [51] 0x180481210 size=5
  [52] 0x90f8daaa9ae9 (invalid/enc)
  [53] 0x182506948 size=0
  [54] 0x1805366d0 size=22
  [55] 0x1805366d0 size=22
  [56] 0x180538010 size=25
  [57] 0x1805366c0 size=8
  [58] 0x18048db00 size=15
  [59] 0x180481210 size=5
  [60] 0x6a5500ee6cd5 (invalid/enc)
  [61] 0x1b39b7231a23 (invalid/enc)
  [62] 0x1825061b8 size=0
  [63] 0x180536a30 size=14
