############ VTABLE SpectralProcessor 0x1824abb90
SLOTLIST:
   [0] 0x18052d390 size=52
   [1] 0x18052cfb0 size=61
   [2] 0x180529550 size=191
   [3] 0x1804714b0 size=3
   [4] 0x180529610 size=1154
   [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
   [18] 0x182505548 size=0
   [19] 0x18052d3d0 size=52
   [20] 0x18052c8f0 size=26
   [21] 0x1812c1fb0 size=92
   [22] 0x18052c4a0 size=794
   [23] 0x1804714b0 size=3
   [24] 0x1804714b0 size=3
   [25] 0x1812c0b50 size=3
   [26] 0x18052bfa0 size=870
   [27] 0x1812c0b60 size=152
   [28] 0x18052bdf0 size=432
   [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
   [46] 0x18052c7f0 size=141
   [47] 0x1804714b0 size=3
   [48] 0x18052bde0 size=15
   [49] 0x1812bfff0 size=10
   [50] 0x18052bdd0 size=15
   [51] 0x1812bffb0 size=55
   [52] 0x1812c0e20 size=3
   [53] 0x1812c0e10 size=3
   [54] 0x18052c490 size=14
   [55] 0x1812c1130 size=139
   [56] 0x1812c1070 size=180
   [57] 0x1812c11d0 size=5
   [58] 0x1812bf000 size=137
   [59] 0x1804d7000 size=33
   [60] 0x1812bffa0 size=3
   [61] 0x18052c310 size=339
   [62] 0x1804d7030 size=10
   [63] 0x1812c0230 size=525
CCODE:
   --- [1] 0x18052cfb0 size=61 ---

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 ---

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;
}


   --- [4] 0x180529610 size=1154 ---

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;
}


   --- [21] 0x1812c1fb0 size=92 ---

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 ---

/* 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();
}


   --- [26] 0x18052bfa0 size=870 ---

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 ---

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 ---

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;
}


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

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;
}


   --- [55] 0x1812c1130 size=139 ---

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 ---

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;
}


   --- [58] 0x1812bf000 size=137 ---

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);
}


   --- [61] 0x18052c310 size=339 ---

/* 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]);
}


   --- [63] 0x1812c0230 size=525 ---

/* 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 Soothe2ModuleBase 0x1824ac7a8
SLOTLIST:
   [0] 0x18052fd40 size=38
   [1] 0x18052cfb0 size=61
   [2] 0x180529550 size=191
   [3] 0x1804714b0 size=3
   [4] 0x18052ce00 size=98
   [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
   [25] 0x18052ce90 size=48
   [26] 0x18052ce80 size=14
   [27] 0x1804727a0 size=3
   [28] 0x18052ce70 size=9
   [29] 0x180484870 size=3
   [30] 0x1804714b0 size=3
   [31] 0x1804714b0 size=3
   [34] 0x182507b08 size=0
   [35] 0x180546620 size=62
   [36] 0x1813afeb0 size=43
   [37] 0x1813afef0 size=130
   [38] 0x18136cc80 size=13
   [39] 0x18136cc60 size=13
   [40] 0x18136cc50 size=3
   [41] 0x18136cc40 size=3
   [42] 0x18136cc30 size=3
   [43] 0x1813afd80 size=80
   [44] 0x1813afe80 size=13
   [45] 0x18136cbb0 size=108
   [46] 0x1813afe40 size=32
   [47] 0x1813afe70 size=3
   [48] 0x1813afcf0 size=132
   [49] 0x18136cba0 size=3
   [50] 0x1825080a8 size=0
   [51] 0x18053e010 size=47
   [52] 0x1813af190 size=138
   [53] 0x1813af220 size=771
   [54] 0x1813af160 size=29
   [55] 0x18053dba0 size=990
   [56] 0x182507300 size=0
   [57] 0x1805386e0 size=120
   [58] 0x1813aed50 size=3
   [59] 0x1813aed40 size=3
   [60] 0x1813aec40 size=242
   [61] 0x1813aed90 size=5
   [62] 0x1813aed60 size=24
   [63] 0x1813aeda0 size=9
CCODE:
   --- [1] 0x18052cfb0 size=61 ---

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 ---

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;
}


   --- [4] 0x18052ce00 size=98 ---

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;
}


   --- [24] 0x18052cec0 size=88 ---

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;
}


   --- [35] 0x180546620 size=62 ---

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;
}


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

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);
}


   --- [43] 0x1813afd80 size=80 ---

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]);
}


   --- [45] 0x18136cbb0 size=108 ---

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;
}


   --- [48] 0x1813afcf0 size=132 ---

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;
}


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

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 ---

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);
}


   --- [55] 0x18053dba0 size=990 ---

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 );
}


   --- [57] 0x1805386e0 size=120 ---

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;
}


   --- [60] 0x1813aec40 size=242 ---

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;
}


############ VTABLE CloudyAudioProcessor 0x1824ab7c0
SLOTLIST:
   [0] 0x1805384a8 size=12
   [1] 0x18052bd00 size=189
   [2] 0x182507040 size=0
   [3] 0x180536b60 size=22
   [4] 0x180536b60 size=22
   [5] 0x1805379a0 size=104
   [6] 0x180536b50 size=8
   [7] 0x18048dc80 size=15
   [8] 0x180481210 size=5
   [10] 0x182505588 size=0
   [11] 0x180536850 size=22
   [12] 0x180536850 size=22
   [13] 0x180537e90 size=150
   [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
   [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
   [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
   [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
   [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
   [62] 0x1825061b8 size=0
   [63] 0x180536a30 size=14
CCODE:
   --- [1] 0x18052bd00 size=189 ---

/* 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);
}


   --- [5] 0x1805379a0 size=104 ---

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;
}


   --- [13] 0x180537e90 size=150 ---

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;
}


   --- [34] 0x1805375e0 size=73 ---

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;
}


   --- [41] 0x1805374e0 size=163 ---

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;
}


############ VTABLE AudioProcessingModule 0x1824ac638
SLOTLIST:
   [0] 0x18052d580 size=47
   [1] 0x18052cfb0 size=61
   [2] 0x18052cfa0 size=13
   [3] 0x1804714b0 size=3
   [4] 0x18113285a size=6
   [9] 0x1825071e8 size=0
   [10] 0x180536aa0 size=22
   [11] 0x180536aa0 size=22
   [12] 0x180537b10 size=74
   [13] 0x180536a90 size=8
   [14] 0x18048db00 size=15
   [15] 0x180481210 size=5
   [20] 0x182505780 size=0
   [21] 0x180536eb0 size=22
   [22] 0x180536eb0 size=22
   [23] 0x1805373c0 size=41
   [24] 0x180536ea0 size=8
   [25] 0x18048db00 size=15
   [26] 0x180481210 size=5
   [27] 0x182506568 size=0
   [28] 0x1805365d0 size=30
   [29] 0x1805365d0 size=30
   [30] 0x180538110 size=44
   [31] 0x1805365c0 size=8
   [32] 0x18048dc80 size=15
   [33] 0x180481210 size=5
   [45] 0x1825056d8 size=0
   [46] 0x18052fd40 size=38
   [47] 0x18052cfb0 size=61
   [48] 0x180529550 size=191
   [49] 0x1804714b0 size=3
   [50] 0x18052ce00 size=98
   [51] 0x1804714b0 size=3
   [52] 0x1804714b0 size=3
   [53] 0x1804714b0 size=3
   [54] 0x1804727a0 size=3
   [55] 0x1804714b0 size=3
   [56] 0x1804714b0 size=3
   [57] 0x1804714b0 size=3
   [58] 0x1804714b0 size=3
   [59] 0x1804714b0 size=3
   [60] 0x1804714b0 size=3
   [61] 0x1804714b0 size=3
   [62] 0x1804714b0 size=3
   [63] 0x1804714b0 size=3
CCODE:
   --- [1] 0x18052cfb0 size=61 ---

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;
}


   --- [12] 0x180537b10 size=74 ---

void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__
               (longlong param_1,undefined4 *param_2)

{
  longlong lVar1;
  
  lVar1 = **(longlong **)(param_1 + 8);
  if (5 < *(uint *)(lVar1 + 0x444)) {
    *(undefined4 *)(*(longlong *)(*(longlong *)(lVar1 + 0x438) + 0x28) + 0x80c) = *param_2;
    *(undefined1 *)(lVar1 + 0x24046c) = 1;
    FUN_18052fc30();
    return;
  }
  uRam000000000000080c = *param_2;
  *(undefined1 *)(lVar1 + 0x24046c) = 1;
  FUN_18052fc30();
  return;
}


   --- [47] 0x18052cfb0 size=61 ---

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;
}


   --- [48] 0x180529550 size=191 ---

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;
}


   --- [50] 0x18052ce00 size=98 ---

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;
}


############ VTABLE IIRFilterExtended 0x1824ac5d8
SLOTLIST:
   [0] 0x1805346b0 size=56
   [1] 0x18052cfb0 size=61
   [2] 0x18052cfa0 size=13
   [3] 0x18052fb50 size=119
   [4] 0x18052fb30 size=31
   [5] 0x182506a00 size=0
   [6] 0x180538460 size=12
   [7] 0x1804714b0 size=3
   [8] 0x180529c50 size=8
   [11] 0x182504d80 size=0
   [12] 0x18052d580 size=47
   [13] 0x18052cfb0 size=61
   [14] 0x18052cfa0 size=13
   [15] 0x1804714b0 size=3
   [16] 0x18113285a size=6
   [21] 0x1825071e8 size=0
   [22] 0x180536aa0 size=22
   [23] 0x180536aa0 size=22
   [24] 0x180537b10 size=74
   [25] 0x180536a90 size=8
   [26] 0x18048db00 size=15
   [27] 0x180481210 size=5
   [32] 0x182505780 size=0
   [33] 0x180536eb0 size=22
   [34] 0x180536eb0 size=22
   [35] 0x1805373c0 size=41
   [36] 0x180536ea0 size=8
   [37] 0x18048db00 size=15
   [38] 0x180481210 size=5
   [39] 0x182506568 size=0
   [40] 0x1805365d0 size=30
   [41] 0x1805365d0 size=30
   [42] 0x180538110 size=44
   [43] 0x1805365c0 size=8
   [44] 0x18048dc80 size=15
   [45] 0x180481210 size=5
   [57] 0x1825056d8 size=0
   [58] 0x18052fd40 size=38
   [59] 0x18052cfb0 size=61
   [60] 0x180529550 size=191
   [61] 0x1804714b0 size=3
   [62] 0x18052ce00 size=98
   [63] 0x1804714b0 size=3
CCODE:
   --- [1] 0x18052cfb0 size=61 ---

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;
}


   --- [3] 0x18052fb50 size=119 ---

void .?AV?$IIRFilterExtended@M$01@@::vtbl___AV__IIRFilterExtended_M_01__
               (longlong param_1,float *param_2,int param_3)

{
  longlong lVar1;
  double dVar2;
  
  lVar1 = (longlong)param_3;
  dVar2 = (double)*param_2 * *(double *)(param_1 + 0xb8) + *(double *)(param_1 + 0x98 + lVar1 * 8);
  *(double *)(param_1 + 0x98 + lVar1 * 8) =
       ((double)*param_2 * *(double *)(param_1 + 0xc0) - dVar2 * *(double *)(param_1 + 0xd0)) +
       *(double *)(param_1 + 0xa8 + lVar1 * 8);
  *(double *)(param_1 + 0xa8 + lVar1 * 8) =
       (double)*param_2 * *(double *)(param_1 + 200) - dVar2 * *(double *)(param_1 + 0xd8);
  *param_2 = (float)dVar2;
  return;
}


   --- [13] 0x18052cfb0 size=61 ---

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;
}


   --- [24] 0x180537b10 size=74 ---

void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__
               (longlong param_1,undefined4 *param_2)

{
  longlong lVar1;
  
  lVar1 = **(longlong **)(param_1 + 8);
  if (5 < *(uint *)(lVar1 + 0x444)) {
    *(undefined4 *)(*(longlong *)(*(longlong *)(lVar1 + 0x438) + 0x28) + 0x80c) = *param_2;
    *(undefined1 *)(lVar1 + 0x24046c) = 1;
    FUN_18052fc30();
    return;
  }
  uRam000000000000080c = *param_2;
  *(undefined1 *)(lVar1 + 0x24046c) = 1;
  FUN_18052fc30();
  return;
}


   --- [59] 0x18052cfb0 size=61 ---

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;
}


   --- [60] 0x180529550 size=191 ---

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;
}


   --- [62] 0x18052ce00 size=98 ---

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;
}


############ VTABLE Soothe2FilterGraph 0x1824be810
SLOTLIST:
   [0] 0x180589260 size=278
   [1] 0x18134bc00 size=3
   [2] 0x18058b4d0 size=36
   [3] 0x18058b380 size=324
   [4] 0x18134bbd0 size=3
   [5] 0x18134bbc0 size=3
   [6] 0x18134bbb0 size=3
   [7] 0x18134bba0 size=3
   [8] 0x18134bb30 size=93
   [9] 0x18134bad0 size=82
   [10] 0x18134c900 size=397
   [11] 0x18134c760 size=397
   [12] 0x18134c750 size=3
   [13] 0x18134c3a0 size=933
   [14] 0x18134c2d0 size=3
   [15] 0x18134c2c0 size=3
   [16] 0x18134c270 size=69
   [17] 0x1805689c0 size=60
   [18] 0x18134bf00 size=3
   [19] 0x18134be30 size=195
   [20] 0x18134bde0 size=3
   [21] 0x18134bcf0 size=66
   [22] 0x18134bce0 size=3
   [23] 0x18134bc50 size=126
   [24] 0x18134bc20 size=34
   [25] 0x18058ad80 size=452
   [26] 0x18134bc10 size=3
   [27] 0x18134bac0 size=3
   [28] 0x18134bab0 size=3
   [29] 0x18134ba90 size=20
   [30] 0x18134ba80 size=3
   [31] 0x18134ba70 size=3
   [32] 0x18134ba60 size=3
   [33] 0x18058af50 size=179
   [34] 0x18134ba50 size=3
   [35] 0x18134adc0 size=3
   [36] 0x18134ba40 size=3
   [37] 0x18134ba30 size=3
   [38] 0x18134ba20 size=3
   [39] 0x18134ba10 size=3
   [40] 0x18134b940 size=196
   [41] 0x18134b930 size=3
   [42] 0x18134b870 size=87
   [43] 0x1804714b0 size=3
   [44] 0x181a06ff0 size=323
   [45] 0x1804714b0 size=3
   [46] 0x181a07170 size=1813
   [47] 0x18251a8e0 size=0
   [48] 0x18058d230 size=47
   [49] 0x18052cfb0 size=61
   [50] 0x18052cfa0 size=13
   [51] 0x18058c850 size=83
   [52] 0x18058c8b0 size=74
   [53] 0x18058c7b0 size=149
   [54] 0x18251ae98 size=0
   [55] 0x18058e330 size=22
   [56] 0x18058e330 size=22
   [57] 0x18058e400 size=42
   [58] 0x18058e320 size=8
   [59] 0x18048db00 size=15
   [60] 0x180481210 size=5
   [61] 0x18251aab8 size=0
   [62] 0x18058eb10 size=12
   [63] 0x18058b500 size=275
CCODE:
   --- [0] 0x180589260 size=278 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(undefined8 *param_1)

{
  void *_Dst;
  int iVar1;
  longlong lVar2;
  longlong lVar3;
  longlong lVar4;
  int iVar5;
  
  *param_1 = Soothe2FilterGraph::vftable;
  iVar5 = 0;
  param_1[0x16] = Soothe2FilterGraph::vftable;
  param_1[0x19] = Soothe2FilterGraph::vftable;
  param_1[0x1c] = Soothe2FilterGraph::vftable;
  param_1[0x1d] = Soothe2FilterGraph::vftable;
  param_1[0x1e] = Soothe2FilterGraph::vftable;
  param_1[0x138d] = Soothe2FilterGraph::vftable;
  lVar2 = *(longlong *)(param_1[0x138e] + 0x168);
  lVar4 = 0;
  iVar1 = *(int *)(lVar2 + 0x2404cc);
  lVar3 = *(longlong *)(lVar2 + 0x2404c0);
  if (0 < iVar1) {
    do {
      if (param_1 + 0x138d == *(undefined8 **)(lVar3 + lVar4 * 8)) {
        _Dst = (void *)(lVar3 + (longlong)iVar5 * 8);
        memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar5) + -1) << 3);
        *(int *)(lVar2 + 0x2404cc) = *(int *)(lVar2 + 0x2404cc) + -1;
        iVar1 = *(int *)(lVar2 + 0x2404cc);
        iVar5 = 0;
        if (0 < iVar1 * 2) {
          iVar5 = iVar1 * 2;
        }
        if (iVar5 < *(int *)(lVar2 + 0x2404c8)) {
          if (iVar1 < 8) {
            iVar1 = 8;
          }
          if (iVar1 < *(int *)(lVar2 + 0x2404c8)) {
            FUN_18047cb30((longlong *)(lVar2 + 0x2404c0));
          }
        }
        break;
      }
      iVar5 = iVar5 + 1;
      lVar4 = lVar4 + 1;
    } while (lVar4 < iVar1);
  }
  *(undefined4 *)((longlong)param_1 + 0x209c8c) = 0;
                    /* WARNING: Subroutine does not return */
  free((void *)param_1[0x41390]);
}


   --- [3] 0x18058b380 size=324 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined8 *param_2)

{
  longlong lVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  undefined8 *puVar5;
  ulonglong uVar6;
  ulonglong uVar7;
  float fVar8;
  float fStackX_c;
  undefined8 local_38;
  undefined4 uStack_30;
  undefined4 uStack_2c;
  
  lVar1 = *(longlong *)(param_1 + 0xf8);
  if (lVar1 != 0) {
    uVar7 = 0;
    iVar2 = *(int *)(*(longlong *)(param_1 + 0x9c60) + 0x28) + -10;
    iVar3 = *(int *)(*(longlong *)(param_1 + 0x9c60) + 0x2c) + -10;
    iVar4 = 0;
    if (0 < iVar2) {
      iVar4 = iVar2;
    }
    iVar2 = 0;
    if (0 < iVar3) {
      iVar2 = iVar3;
    }
    fVar8 = (float)*param_2;
    if ((((fVar8 < DAT_1824c4360) ||
         (fStackX_c = (float)((ulonglong)*param_2 >> 0x20), fStackX_c < DAT_1824c4360)) ||
        ((float)iVar4 + DAT_1824c4360 <= fVar8)) || ((float)iVar2 + DAT_1824c4360 <= fStackX_c)) {
      puVar5 = *(undefined8 **)(lVar1 + 0xf0);
      *(undefined4 *)(lVar1 + 0x204) = 0;
      uVar6 = (ulonglong)((longlong)(puVar5 + *(int *)(lVar1 + 0xfc)) + (7 - (longlong)puVar5)) >> 3
      ;
      if (puVar5 + *(int *)(lVar1 + 0xfc) < puVar5) {
        uVar6 = uVar7;
      }
      if (uVar6 != 0) {
        do {
          FUN_181342bf0(*puVar5);
          uVar7 = uVar7 + 1;
          puVar5 = puVar5 + 1;
        } while (uVar7 != uVar6);
      }
      uStack_30 = *(undefined4 *)(lVar1 + 0x28);
      uStack_2c = *(undefined4 *)(lVar1 + 0x2c);
      local_38 = 0;
      FUN_181342870(lVar1,&local_38,1);
    }
  }
  return;
}


   --- [8] 0x18134bb30 size=93 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined8 param_2,undefined8 param_3)

{
  longlong lVar1;
  undefined8 uVar2;
  undefined1 local_68 [96];
  
  if (*(longlong **)(param_1 + 0x18) != (longlong *)0x0) {
    lVar1 = **(longlong **)(param_1 + 0x18);
    uVar2 = FUN_181339840(param_2,local_68);
    (**(code **)(lVar1 + 0x40))(*(undefined8 *)(param_1 + 0x18),uVar2,param_3);
  }
  return;
}


   --- [9] 0x18134bad0 size=82 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined8 param_2,undefined4 param_3)

{
  undefined8 uVar1;
  undefined1 local_78 [112];
  
  if (*(longlong *)(param_1 + 0x18) != 0) {
    uVar1 = FUN_181339840(param_2,local_78);
    (**(code **)(**(longlong **)(param_1 + 0x18) + 0x48))
              (*(longlong **)(param_1 + 0x18),uVar1,param_3);
  }
  return;
}


   --- [10] 0x18134c900 size=397 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)

{
  int *piVar1;
  uint uVar2;
  code *pcVar3;
  longlong *plVar4;
  undefined8 *puVar5;
  longlong lVar6;
  uint *_Memory;
  int iVar7;
  bool bVar8;
  undefined8 *local_res8;
  undefined1 local_res10 [16];
  
  lVar6 = *param_2;
  if (*(longlong *)(param_1 + 8) == lVar6) {
    iVar7 = 0;
  }
  else {
    iVar7 = FUN_18048cbc0(*(undefined8 *)(param_1 + 8),lVar6,param_3,param_4,0xfffffffffffffffe);
  }
  if (iVar7 != 0) {
    if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) {
      LOCK();
      *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1;
      UNLOCK();
    }
    LOCK();
    lVar6 = *(longlong *)(param_1 + 8);
    *(longlong *)(param_1 + 8) = *param_2;
    UNLOCK();
    _Memory = (uint *)(lVar6 + -0x10);
    if ((*_Memory & 0x30000000) == 0) {
      LOCK();
      uVar2 = *_Memory;
      *_Memory = *_Memory - 1;
      UNLOCK();
      if (uVar2 == 0) {
                    /* WARNING: Subroutine does not return */
        free(_Memory);
      }
    }
    if (((*(byte *)(param_1 + 0xa8) & 1) != 0) &&
       (plVar4 = (longlong *)FUN_1812d2bd0(param_1), plVar4 != (longlong *)0x0)) {
      if ((undefined **)*plVar4 == juce::HWNDComponentPeer::vftable) {
        puVar5 = (undefined8 *)FUN_18049a930(local_res10);
        SetWindowTextW((HWND)plVar4[0x11],(LPCWSTR)*puVar5);
      }
      else {
        (*(code *)((undefined **)*plVar4)[3])(plVar4,param_2);
      }
    }
    FUN_1804de690(&local_res8,param_1);
    puVar5 = local_res8;
    iVar7 = *(int *)(param_1 + 0x8c);
    bVar8 = local_res8 == (undefined8 *)0x0;
    while( true ) {
      if (bVar8) {
        lVar6 = 0;
      }
      else {
        lVar6 = puVar5[2];
      }
      if ((lVar6 == 0) || (iVar7 < 1)) break;
      iVar7 = iVar7 + -1;
      if ((*(int *)(param_1 + 0x8c) <= iVar7) && (iVar7 = *(int *)(param_1 + 0x8c) + -1, iVar7 < 0))
      break;
      plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x80) + (longlong)iVar7 * 8);
      pcVar3 = *(code **)(*plVar4 + 0x30);
      if (pcVar3 != .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__) {
        (*pcVar3)(plVar4,param_1);
      }
    }
    if (puVar5 != (undefined8 *)0x0) {
      LOCK();
      piVar1 = (int *)(puVar5 + 1);
      iVar7 = *piVar1;
      *piVar1 = *piVar1 + -1;
      UNLOCK();
      if (iVar7 == 1) {
        (**(code **)*local_res8)(local_res8,1);
      }
    }
  }
  return;
}


   --- [11] 0x18134c760 size=397 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,byte param_2,undefined8 param_3,undefined8 param_4)

{
  int *piVar1;
  int iVar2;
  undefined8 *puVar3;
  longlong lVar4;
  longlong *plVar5;
  longlong lVar6;
  bool bVar7;
  undefined8 *local_res8;
  undefined4 local_28;
  undefined4 uStack_24;
  undefined4 uStack_20;
  undefined4 uStack_1c;
  
  if ((*(byte *)(param_1 + 0xa8) >> 1 & 1) != param_2) {
    FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe);
    *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) & 0xfd;
    *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) | (param_2 & 1) * '\x02';
    lVar6 = 0;
    if (param_2 == 0) {
      FUN_181342b10(param_1);
    }
    else {
      uStack_1c = *(undefined4 *)(param_1 + 0x2c);
      uStack_20 = *(undefined4 *)(param_1 + 0x28);
      local_28 = 0;
      uStack_24 = 0;
      FUN_181342870(param_1,&local_28,1);
    }
    FUN_18133f790();
    if (param_2 == 0) {
      FUN_1804e5060(param_1);
      for (lVar4 = DAT_182673708; lVar4 != param_1; lVar4 = *(longlong *)(lVar4 + 0x18)) {
        if (lVar4 == 0) goto LAB_18134c84f;
      }
      if (*(longlong *)(param_1 + 0x18) == 0) {
        FUN_18133eae0(1);
      }
      else {
        FUN_18133ed60(*(longlong *)(param_1 + 0x18),2,1);
      }
    }
LAB_18134c84f:
    puVar3 = local_res8;
    bVar7 = local_res8 != (undefined8 *)0x0;
    lVar4 = lVar6;
    if (bVar7) {
      lVar4 = local_res8[2];
    }
    if (lVar4 != 0) {
      FUN_1813452b0(param_1);
      if (bVar7) {
        lVar6 = puVar3[2];
      }
      if (((lVar6 != 0) && ((*(byte *)(param_1 + 0xa8) & 1) != 0)) &&
         (plVar5 = (longlong *)FUN_18134c2e0(param_1), plVar5 != (longlong *)0x0)) {
        (**(code **)(*plVar5 + 0x10))(plVar5,param_2);
        FUN_181343670(param_1);
      }
    }
    if (puVar3 != (undefined8 *)0x0) {
      LOCK();
      piVar1 = (int *)(puVar3 + 1);
      iVar2 = *piVar1;
      *piVar1 = *piVar1 + -1;
      UNLOCK();
      if (iVar2 == 1) {
        (**(code **)*local_res8)(local_res8,1);
      }
    }
  }
  return;
}


   --- [13] 0x18134c3a0 size=933 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong *param_1,uint param_2,undefined8 param_3)

{
  int *piVar1;
  undefined8 *puVar2;
  int iVar3;
  ulonglong uVar4;
  longlong lVar5;
  undefined8 *puVar6;
  char cVar7;
  int iVar8;
  longlong *plVar9;
  ulonglong *puVar10;
  ulonglong uVar11;
  undefined4 uVar12;
  longlong *plVar13;
  undefined8 *puVar14;
  ulonglong uVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  undefined4 uVar18;
  undefined4 uVar19;
  char local_res20;
  undefined8 *local_88;
  longlong local_80;
  undefined8 local_78;
  undefined1 local_70 [8];
  longlong *local_68;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 uStack_50;
  
  local_78 = 0xfffffffffffffffe;
  if ((*(byte *)(param_1 + 0x15) >> 2 & 1) == 0) {
    param_2 = param_2 | 0x40000000;
  }
  else {
    param_2 = param_2 & 0xbfffffff;
  }
  plVar9 = (longlong *)FUN_1812d2bd0();
  if ((plVar9 != (longlong *)0x0) && (param_2 == *(uint *)(plVar9 + 2))) {
    return;
  }
  FUN_1804de690(&local_88,param_1);
  uVar15 = 0;
  uVar4 = uVar15;
  puVar6 = local_88;
  for (plVar13 = param_1; local_88 = puVar6, plVar13 != (longlong *)0x0;
      plVar13 = (longlong *)plVar13[3]) {
    puVar10 = (ulonglong *)FUN_18051e290(local_70,plVar13,uVar4);
    uVar4 = *puVar10;
    puVar6 = local_88;
  }
  cVar7 = '\0';
  local_res20 = '\0';
  local_80 = 0;
  uVar16 = 0;
  uVar17 = 0;
  uVar18 = 0;
  uVar19 = 0;
  local_58 = 0;
  uStack_50 = 0;
  iVar8 = -1;
  if (plVar9 != (longlong *)0x0) {
    local_68 = plVar9;
    cVar7 = (**(code **)(*plVar9 + 0x78))(plVar9);
    local_res20 = (**(code **)(*plVar9 + 0x68))(plVar9);
    local_80 = plVar9[5];
    uVar16 = *(undefined4 *)((longlong)plVar9 + 0x14);
    uVar17 = (undefined4)plVar9[3];
    local_58 = *(undefined8 *)((longlong)plVar9 + 0x14);
    uVar18 = *(undefined4 *)((longlong)plVar9 + 0x1c);
    uVar19 = (undefined4)plVar9[4];
    uStack_50 = *(undefined8 *)((longlong)plVar9 + 0x1c);
    iVar8 = (**(code **)(*plVar9 + 0x100))(plVar9);
    *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xfe;
    if (DAT_182673700 == 0) {
      local_60 = FUN_1811316e0(0x130);
      DAT_182673700 = FUN_18133c6c0(local_60);
    }
    FUN_180488600(DAT_182673700 + 0x58,param_1);
    FUN_181343670(param_1);
    uVar11 = uVar15;
    if (puVar6 != (undefined8 *)0x0) {
      uVar11 = puVar6[2];
    }
    if (uVar11 == 0) {
      (**(code **)*plVar9)(plVar9,1);
      goto LAB_18134c6f7;
    }
    FUN_18134bfe0(param_1,uVar4 & 0xffffffff,uVar4 >> 0x20,(int)param_1[5],
                  *(undefined4 *)((longlong)param_1 + 0x2c));
    (**(code **)*plVar9)(plVar9,1);
  }
  lVar5 = param_1[3];
  if (lVar5 != 0) {
    plVar9 = *(longlong **)(lVar5 + 0x40);
    for (plVar13 = plVar9; plVar13 != plVar9 + *(int *)(lVar5 + 0x4c); plVar13 = plVar13 + 1) {
      if (param_1 == (longlong *)*plVar13) {
        uVar12 = (undefined4)((longlong)plVar13 - (longlong)plVar9 >> 3);
        goto LAB_18134c588;
      }
    }
    uVar12 = 0xffffffff;
LAB_18134c588:
    FUN_181343a90(lVar5,uVar12,1);
  }
  if (puVar6 != (undefined8 *)0x0) {
    uVar15 = puVar6[2];
  }
  if (uVar15 != 0) {
    *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 1;
    plVar9 = (longlong *)(**(code **)(*param_1 + 0x150))(param_1,param_2,param_3);
    if (DAT_182673700 == 0) {
      local_60 = FUN_1811316e0(0x130);
      DAT_182673700 = FUN_18133c6c0(local_60);
    }
    lVar5 = DAT_182673700;
    plVar13 = (longlong *)(DAT_182673700 + 0x58);
    puVar14 = (undefined8 *)*plVar13;
    iVar3 = *(int *)(DAT_182673700 + 100);
    puVar2 = puVar14 + iVar3;
    for (; puVar14 != puVar2; puVar14 = puVar14 + 1) {
      if (param_1 == (longlong *)*puVar14) goto LAB_18134c651;
    }
    if (*(int *)(DAT_182673700 + 0x60) < iVar3 + 1) {
      FUN_18047cb30(plVar13,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8);
    }
    iVar3 = *(int *)(lVar5 + 100);
    *(int *)(lVar5 + 100) = iVar3 + 1;
    *(longlong **)(*plVar13 + (longlong)iVar3 * 8) = param_1;
LAB_18134c651:
    param_1[4] = uVar4;
    FUN_18134b470(plVar9);
    if (-1 < iVar8) {
      (**(code **)(*plVar9 + 0x108))(plVar9,iVar8);
    }
    (**(code **)(*plVar9 + 0x10))(plVar9,*(byte *)(param_1 + 0x15) >> 1 & 1);
    plVar9 = (longlong *)FUN_1812d2bd0(param_1);
    if (plVar9 != (longlong *)0x0) {
      if (cVar7 != '\0') {
        (**(code **)(*plVar9 + 0x70))(plVar9,1);
        *(undefined4 *)((longlong)plVar9 + 0x14) = uVar16;
        *(undefined4 *)(plVar9 + 3) = uVar17;
        *(undefined4 *)((longlong)plVar9 + 0x1c) = uVar18;
        *(undefined4 *)(plVar9 + 4) = uVar19;
      }
      if (local_res20 != '\0') {
        (**(code **)(*plVar9 + 0x60))(plVar9,1);
      }
      if ((*(byte *)((longlong)param_1 + 0xa9) & 1) != 0) {
        (**(code **)(*plVar9 + 0xa8))(plVar9,1);
      }
      plVar9[5] = local_80;
      FUN_18134bdf0(param_1);
      FUN_181343670(param_1);
    }
  }
LAB_18134c6f7:
  if (puVar6 != (undefined8 *)0x0) {
    LOCK();
    piVar1 = (int *)(puVar6 + 1);
    iVar8 = *piVar1;
    *piVar1 = *piVar1 + -1;
    UNLOCK();
    if (iVar8 == 1) {
      (**(code **)*local_88)(local_88,1);
    }
  }
  return;
}


   --- [16] 0x18134c270 size=69 ---

undefined4 .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(void)

{
  undefined8 uVar1;
  
  if (DAT_182673700 == 0) {
    uVar1 = FUN_1811316e0(0x130);
    DAT_182673700 = FUN_18133c6c0(uVar1);
  }
  return *(undefined4 *)(DAT_182673700 + 0xc0);
}


   --- [17] 0x1805689c0 size=60 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong *param_1)

{
  if ((char)param_1[0x18] == '\0') {
    FUN_180569ff0();
    if (param_1[0x17] != 0) {
      (**(code **)(*param_1 + 0x158))(param_1);
      *(undefined1 *)(param_1 + 0x18) = 1;
    }
  }
  return;
}


   --- [19] 0x18134be30 size=195 ---

uint .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined4 param_2,undefined4 param_3)

{
  longlong *plVar1;
  ulonglong uVar2;
  char cVar3;
  uint uVar4;
  ulonglong *puVar5;
  longlong lVar6;
  undefined1 local_res20 [8];
  
  uVar4 = 0;
  if ((*(byte *)(param_1 + 0xa8) & 8) == 0) {
    return 1;
  }
  if ((*(byte *)(param_1 + 0xa8) & 0x10) != 0) {
    uVar4 = *(int *)(param_1 + 0x4c) - 1;
    lVar6 = (longlong)(int)uVar4;
    if (-1 < (int)uVar4) {
      do {
        plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x40) + lVar6 * 8);
        if ((*(byte *)(plVar1 + 0x15) & 2) != 0) {
          puVar5 = (ulonglong *)FUN_18051e060(local_res20,plVar1,CONCAT44(param_3,param_2));
          uVar2 = *puVar5;
          if ((((uint)uVar2 < *(uint *)(plVar1 + 5)) &&
              ((uint)(uVar2 >> 0x20) < *(uint *)((longlong)plVar1 + 0x2c))) &&
             (cVar3 = (**(code **)(*plVar1 + 0x98))(plVar1,uVar2 & 0xffffffff,uVar2 >> 0x20),
             cVar3 != '\0')) {
            uVar4 = 1;
          }
          else {
            uVar4 = 0;
          }
          if ((char)uVar4 != '\0') {
            return 1;
          }
        }
        lVar6 = lVar6 + -1;
      } while (-1 < lVar6);
    }
  }
  return uVar4 & 0xffffff00;
}


   --- [21] 0x18134bcf0 size=66 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1)

{
  undefined8 *puVar1;
  
  if (((*(byte *)(param_1 + 0xa8) & 0x40) == 0) &&
     (*(longlong **)(param_1 + 0x18) != (longlong *)0x0)) {
                    /* WARNING: Could not recover jumptable at 0x00018134bd0d. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(**(longlong **)(param_1 + 0x18) + 0xa8))();
    return;
  }
  puVar1 = (undefined8 *)FUN_1811316e0(8);
  *puVar1 = juce::KeyboardFocusTraverser::vftable;
  return;
}


   --- [23] 0x18134bc50 size=126 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1)

{
  longlong *plVar1;
  undefined8 local_18;
  undefined4 uStack_10;
  undefined4 uStack_c;
  
  if ((*(byte *)(param_1 + 0xa8) & 1) == 0) {
    uStack_10 = *(undefined4 *)(param_1 + 0x28);
    uStack_c = *(undefined4 *)(param_1 + 0x2c);
    local_18 = 0;
    FUN_181342870(0,&local_18,1);
  }
  else {
    plVar1 = (longlong *)FUN_1812d2bd0();
    if (plVar1 != (longlong *)0x0) {
                    /* WARNING: Could not recover jumptable at 0x00018134bc94. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (**(code **)(*plVar1 + 0xf0))
                (plVar1,(float)(int)(0xff - (uint)*(byte *)(param_1 + 0xac)) / DAT_1824c4548);
      return;
    }
  }
  return;
}


   --- [25] 0x18058ad80 size=452 ---

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong *param_1,undefined8 param_2)

{
  float fVar1;
  float fVar2;
  longlong lVar3;
  byte *pbVar4;
  int iVar5;
  float local_68 [3];
  undefined8 local_5c;
  undefined8 uStack_54;
  undefined8 local_4c;
  
  (**(code **)(*param_1 + 0x160))();
  fVar2 = DAT_1824c4548;
  fVar1 = DAT_1824c3c8c;
  iVar5 = 0;
  if (0 < (int)param_1[0x130f]) {
    pbVar4 = (byte *)((longlong)param_1 + 0x99c7);
    do {
      if (fVar1 <= (float)*pbVar4 / fVar2) {
        FUN_181296c00(param_2,*(undefined4 *)((longlong)param_1 + (longlong)iVar5 * 4 + 0x99c4));
        local_4c = 0x3f800000;
        local_68[0] = 1.0;
        local_68[1] = 0.0;
        local_68[2] = 0.0;
        local_5c = _DAT_1824c4780;
        uStack_54 = _UNK_1824c4788;
        FUN_181295d20(param_2,param_1 + ((longlong)iVar5 + 0x3d2) * 5,local_68,&local_5c);
      }
      iVar5 = iVar5 + 1;
      pbVar4 = pbVar4 + 4;
    } while (iVar5 < (int)param_1[0x130f]);
  }
  FUN_181296c00(param_2,(int)param_1[0x1338]);
  local_5c = _DAT_1824c4780;
  uStack_54 = _UNK_1824c4788;
  local_4c = 0x3f800000;
  if (*(code **)(param_1[0x16] + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) {
    if (param_1[0x17] == 0) {
      FUN_180569ff0(param_1);
    }
    lVar3 = param_1[0x17];
  }
  else {
    lVar3 = (**(code **)(param_1[0x16] + 8))(param_1 + 0x16);
  }
  local_68[0] = *(float *)((longlong)param_1 + 0x99f4) * *(float *)(lVar3 + 0x88);
  local_68[1] = 0.0;
  local_68[2] = 0.0;
  FUN_181295d20(param_2,param_1 + 0x1315,local_68,&local_5c);
  if (*(code **)(*param_1 + 0x168) != _guard_check_icall) {
    (**(code **)(*param_1 + 0x168))(param_1,param_2);
    return;
  }
  return;
}


   --- [33] 0x18058af50 size=179 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1)

{
  float fVar1;
  
  if (*(longlong *)(param_1 + 0xf8) != 0) {
    FUN_18134bfe0(*(longlong *)(param_1 + 0xf8),0,0,*(undefined4 *)(param_1 + 0x28),
                  *(undefined4 *)(param_1 + 0x2c));
  }
  fVar1 = DAT_1824c3d8c;
  *(undefined4 *)(param_1 + 0x99f8) = 0x41200000;
  *(float *)(param_1 + 0x99dc) = (float)*(int *)(param_1 + 0x2c) * fVar1;
  *(float *)(param_1 + 0x99e0) = (float)*(int *)(param_1 + 0x28) / (float)*(int *)(param_1 + 0x9890)
  ;
  *(float *)(param_1 + 0x99fc) =
       (fVar1 / *(float *)(param_1 + 0x99e8)) * (float)*(int *)(param_1 + 0x9894);
  return;
}


   --- [40] 0x18134b940 size=196 ---

void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___
               (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 *puVar1;
  longlong *plVar2;
  undefined8 uVar3;
  
  uVar3 = 0xfffffffffffffffe;
  if (DAT_182673c20 == (undefined8 *)0x0) {
    puVar1 = (undefined8 *)FUN_1811316e0(0x28);
    FUN_1812a59f0(puVar1);
    FUN_1812a7230(puVar1 + 2);
    *puVar1 = juce::ModalComponentManager::vftable;
    puVar1[2] = juce::ModalComponentManager::vftable;
    puVar1[3] = 0;
    puVar1[4] = 0;
    DAT_182673c20 = puVar1;
  }
  FUN_18133b010(DAT_182673c20,1,param_3,param_4,uVar3);
  plVar2 = (longlong *)FUN_18134adf0(param_1);
  if (*(code **)(*plVar2 + 0x78) == FUN_1812c6070) {
                    /* WARNING: Could not recover jumptable at 0x00018134b9e5. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    MessageBeep(0);
    return;
  }
  (**(code **)(*plVar2 + 0x78))(plVar2);
  return;
}


   --- [42] 0x18134b870 size=87 ---

void .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__
               (undefined8 param_1,undefined4 param_2,undefined8 param_3)

{
  undefined8 uVar1;
  
  uVar1 = FUN_1811316e0(0x158);
  FUN_18050dd00(uVar1,param_1,param_2,param_3,0);
  return;
}


   --- [44] 0x181a06ff0 size=323 ---

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void .?AVSoothe2FilterGraph@@::vtbl___AVSoothe2FilterGraph__(longlong param_1,undefined8 param_2)

{
  float fVar1;
  longlong lVar2;
  byte local_res8;
  byte local_res9;
  byte local_resa;
  undefined1 local_resb;
  float local_48 [4];
  undefined8 local_38;
  undefined8 uStack_30;
  ulonglong local_28;
  
  if (*(int *)(*(longlong *)(*(longlong *)(param_1 + 0x9c70) + 0x168) + 0x30) != 1) {
    FUN_18049fa40(local_48,DAT_18262e938);
    FUN_18049fbb0(&local_res8,local_48[0],DAT_1824c3d18,local_48[2],
                  (char)((uint)DAT_18262e938 >> 0x18));
    FUN_181296c00(param_2,CONCAT13(local_resb,
                                   CONCAT12((char)(int)((float)local_resa * DAT_1824c3e14),
                                            CONCAT11((char)(int)((float)local_res9 * DAT_1824c3e14),
                                                     (char)(int)((float)local_res8 * DAT_1824c3e14))
                                           )));
    fVar1 = *(float *)(param_1 + 0x99f4);
    local_38 = _DAT_1824c4780;
    uStack_30 = _UNK_1824c4788;
    local_28 = (ulonglong)DAT_1824c3ea4;
    lVar2 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))();
    local_48[0] = fVar1 * *(float *)(lVar2 + 0x88);
    local_48[1] = 0.0;
    local_48[2] = 0.0;
    FUN_181295d20(param_2,param_1 + 0x209c80,local_48,&local_38);
  }
  return;
}


   --- [46] 0x181a07170 size=1813 ---

void .?AVSoothe2FilterGraph@@::vtbl___AVSoothe2FilterGraph__(longlong param_1)

{
  float fVar1;
  float fVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  longlong *plVar5;
  void *_Memory;
  double dVar6;
  char cVar7;
  int iVar8;
  undefined8 *puVar9;
  undefined8 uVar10;
  float *pfVar11;
  int iVar12;
  char *pcVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  undefined8 *puVar17;
  float *pfVar18;
  float *pfVar19;
  double dVar20;
  float fVar21;
  float fVar22;
  int local_res8 [2];
  int local_res10 [2];
  longlong local_res18;
  float *local_res20;
  void *local_188;
  undefined4 local_17c;
  undefined1 local_138 [24];
  float local_120 [56];
  
  iVar14 = 0;
  if (0 < *(int *)(param_1 + 0x9878)) {
    pcVar13 = (char *)(param_1 + 0x9a02);
    puVar17 = (undefined8 *)(param_1 + 0x9c8);
    do {
      if (*pcVar13 != '\0') {
        plVar5 = *(longlong **)(param_1 + 0x140);
        local_res10[0] = iVar14;
        if (plVar5 == (longlong *)0x0) {
                    /* WARNING: Subroutine does not return */
          std::_Xbad_function_call();
        }
        if ((undefined **)*plVar5 ==
            std::
            _Func_impl_no_alloc<std::function<float*___ptr64___cdecl(int)>,float_const*___ptr64,int>
            ::vftable) {
          plVar5 = (longlong *)plVar5[8];
          local_res8[0] = iVar14;
          if (plVar5 == (longlong *)0x0) {
                    /* WARNING: Subroutine does not return */
            std::_Xbad_function_call();
          }
          uVar10 = (**(code **)(*plVar5 + 0x10))(plVar5,local_res8);
          *puVar17 = uVar10;
        }
        else {
          uVar10 = (*(code *)((undefined **)*plVar5)[2])(plVar5,local_res10);
          *puVar17 = uVar10;
        }
      }
      iVar14 = iVar14 + 1;
      puVar17 = puVar17 + 1;
      pcVar13 = pcVar13 + 1;
    } while (iVar14 < *(int *)(param_1 + 0x9878));
  }
  fVar2 = DAT_1824c41e0;
  fVar1 = DAT_1824c3ea4;
  pfVar11 = (float *)(*(longlong *)(param_1 + 0x9c78) + 0x2400d8);
  local_res10[0] = *(int *)(*(longlong *)(*(longlong *)(param_1 + 0x9c70) + 0x168) + 0x30);
  local_res20 = pfVar11;
  if (local_res10[0] == 2) {
    iVar14 = 0;
    do {
      iVar12 = 0;
      if (0 < *(int *)(param_1 + 0x9878)) {
        local_res18 = param_1 + 0x9c8;
        pfVar18 = pfVar11;
        do {
          if (iVar12 == 0) {
            iVar14 = __std_type_info_compare(0x182650db8,0x182650db8);
            if (iVar14 != 0) {
                    /* WARNING: Subroutine does not return */
              thunk_FUN_181ba94b0();
            }
                    /* WARNING: Subroutine does not return */
            thunk_FUN_181ba94b0();
          }
          plVar5 = *(longlong **)(param_1 + 0x180);
          local_res8[0] = iVar12;
          if (plVar5 == (longlong *)0x0) {
                    /* WARNING: Subroutine does not return */
            std::_Xbad_function_call();
          }
          cVar7 = (**(code **)(*plVar5 + 0x10))(plVar5,local_res8);
          if (cVar7 == '\0') {
            if (iVar14 == 0) {
              fVar21 = fVar1 - *pfVar18;
            }
            else {
              fVar21 = *pfVar18;
            }
            uVar3 = *(undefined4 *)(param_1 + 0x9890);
            fVar22 = fVar21 * fVar2;
            if (fVar1 <= fVar21 * fVar2) {
              fVar22 = fVar1;
            }
            iVar14 = __std_type_info_compare(0x182650db8,0x182650db8);
            if (iVar14 != 0) {
                    /* WARNING: Subroutine does not return */
              thunk_FUN_181ba94b0((double)(fVar1 - fVar22),param_1 + 0x209ca8,uVar3);
            }
                    /* WARNING: Subroutine does not return */
            thunk_FUN_181ba94b0();
          }
          local_res18 = local_res18 + 8;
          iVar12 = iVar12 + 1;
          pfVar18 = pfVar18 + 1;
          pfVar11 = local_res20;
        } while (iVar12 < *(int *)(param_1 + 0x9878));
      }
      iVar14 = iVar14 + 1;
    } while (iVar14 < 2);
  }
  else {
    iVar14 = 0;
    if (0 < *(int *)(param_1 + 0x9878)) {
      puVar17 = (undefined8 *)(param_1 + 0x9c8);
      do {
        plVar5 = *(longlong **)(param_1 + 0x180);
        local_res8[0] = iVar14;
        if (iVar14 == 0) {
          if (plVar5 == (longlong *)0x0) {
                    /* WARNING: Subroutine does not return */
            std::_Xbad_function_call();
          }
          cVar7 = (**(code **)(*plVar5 + 0x10))(plVar5,local_res8);
          uVar3 = *(undefined4 *)(param_1 + 0x9890);
          if (cVar7 != '\0') {
            iVar14 = __std_type_info_compare(0x182650db8,0x182650db8);
            if (iVar14 != 0) {
                    /* WARNING: Subroutine does not return */
              thunk_FUN_181ba94b0();
            }
                    /* WARNING: Subroutine does not return */
            thunk_FUN_181ba94b0();
          }
          uVar10 = *(undefined8 *)(param_1 + 0x9c8);
          iVar14 = __std_type_info_compare(0x182650db8,0x182650db8);
          if (iVar14 != 0) {
                    /* WARNING: Subroutine does not return */
            thunk_FUN_181ba94b0(uVar10,param_1 + 0x9c80,uVar3);
          }
                    /* WARNING: Subroutine does not return */
          thunk_FUN_181ba94b0();
        }
        if (plVar5 == (longlong *)0x0) {
                    /* WARNING: Subroutine does not return */
          std::_Xbad_function_call();
        }
        cVar7 = (**(code **)(*plVar5 + 0x10))(plVar5,local_res8);
        if (cVar7 == '\0') {
          uVar3 = *(undefined4 *)(param_1 + 0x9890);
          uVar10 = *puVar17;
          iVar14 = __std_type_info_compare(0x182650db8,0x182650db8);
          if (iVar14 != 0) {
                    /* WARNING: Subroutine does not return */
            thunk_FUN_181ba94b0(uVar10,param_1 + 0x9c80,uVar3);
          }
                    /* WARNING: Subroutine does not return */
          thunk_FUN_181ba94b0();
        }
        iVar14 = iVar14 + 1;
        puVar17 = puVar17 + 1;
      } while (iVar14 < *(int *)(param_1 + 0x9878));
    }
  }
  *(undefined4 *)(param_1 + 0x9a10) = *(undefined4 *)(param_1 + 0x99dc);
  *(undefined4 *)(param_1 + 0x9a0c) = 0;
  iVar14 = *(int *)(param_1 + 0x2c);
  fVar1 = *(float *)(param_1 + 0x9b14);
  fVar2 = *(float *)(param_1 + 0x9b10);
  local_res18 = CONCAT44(local_res18._4_4_,fVar1);
  _eh_vector_constructor_iterator_(local_138,0x28,2,FUN_18129e350,FUN_18129e330);
  dVar6 = DAT_1824c42b0;
  local_res20 = (float *)(longlong)local_res10[0];
  local_res8[0] = 0;
  if (0 < local_res10[0]) {
    pfVar18 = (float *)(param_1 + 0x9c84);
    pfVar11 = local_120;
    do {
      iVar12 = local_res8[0];
      iVar15 = *(int *)(param_1 + 0x9894) + -1;
      dVar20 = log10((double)pfVar18[-1]);
      iVar8 = (int)((((float)(dVar20 * dVar6) - fVar2) * ((float)iVar15 - 0.0)) / (fVar1 - fVar2) +
                   0.0);
      iVar16 = 0;
      if ((-1 < iVar8) && (iVar16 = iVar8, iVar15 < iVar8)) {
        iVar16 = iVar15;
      }
      fVar21 = (float)iVar14 - (float)iVar14 * *(float *)(param_1 + 0x19f8 + (longlong)iVar16 * 4);
      if (pfVar11[-3] == 0.0) {
        *pfVar11 = fVar21;
        pfVar11[-2] = 0.0;
        pfVar11[-1] = 0.0;
LAB_181a0775d:
        pfVar11[1] = fVar21;
      }
      else {
        if (pfVar11[-2] <= 0.0) {
          if (pfVar11[-1] <= 0.0 && pfVar11[-1] != 0.0) {
            pfVar11[-1] = 0.0;
          }
        }
        else {
          pfVar11[-2] = 0.0;
        }
        if (*pfVar11 <= fVar21) {
          if (pfVar11[1] <= fVar21 && fVar21 != pfVar11[1]) goto LAB_181a0775d;
        }
        else {
          *pfVar11 = fVar21;
        }
      }
      FUN_1804b02a0(pfVar11 + -6,&DAT_1821df344,0);
      iVar8 = 1;
      iVar16 = iVar12;
      if (1 < *(int *)(param_1 + 0x9890)) {
        pfVar19 = pfVar18;
        do {
          log10((double)*pfVar19);
          FUN_18129ddd0(local_138 + (longlong)iVar12 * 0x28);
          iVar8 = iVar8 + 1;
          pfVar19 = pfVar19 + 1;
          iVar16 = local_res8[0];
        } while (iVar8 < *(int *)(param_1 + 0x9890));
      }
      local_res8[0] = iVar16 + 1;
      pfVar11 = pfVar11 + 10;
      pfVar18 = pfVar18 + 0x200;
      local_res20 = (float *)((longlong)local_res20 + -1);
    } while (local_res20 != (float *)0x0);
    local_res20 = (float *)0x0;
  }
  puVar9 = (undefined8 *)FUN_18129a910(local_138,&local_188,*(undefined4 *)(param_1 + 0x99f8));
  puVar17 = (undefined8 *)(param_1 + 0x98a8);
  if (puVar17 == puVar9) {
    uVar10 = puVar9[3];
    *(undefined8 *)(param_1 + 0x98b8) = puVar9[2];
    *(undefined8 *)(param_1 + 0x98c0) = uVar10;
    *(undefined1 *)(param_1 + 0x98c8) = *(undefined1 *)(puVar9 + 4);
    local_17c = 0;
                    /* WARNING: Subroutine does not return */
    free(local_188);
  }
  uVar10 = *puVar9;
  *puVar9 = 0;
  uVar3 = *(undefined4 *)(puVar9 + 1);
  uVar4 = *(undefined4 *)((longlong)puVar9 + 0xc);
  puVar9[1] = 0;
  _Memory = (void *)*puVar17;
  *puVar17 = uVar10;
  *(undefined4 *)(param_1 + 0x98b0) = uVar3;
  *(undefined4 *)(param_1 + 0x98b4) = uVar4;
                    /* WARNING: Subroutine does not return */
  free(_Memory);
}


   --- [49] 0x18052cfb0 size=61 ---

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;
}


   --- [51] 0x18058c850 size=83 ---

void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__
               (longlong param_1,float *param_2,int param_3)

{
  uint uVar1;
  float *pfVar2;
  float fVar3;
  
  pfVar2 = (float *)(param_1 + 0x6c + (longlong)param_3 * 0x40);
  uVar1 = 0;
  if (*(int *)(param_1 + 100) != 0) {
    do {
      uVar1 = uVar1 + 1;
      fVar3 = *param_2 * *(float *)(param_1 + 0xf0);
      *param_2 = fVar3;
      fVar3 = *(float *)(param_1 + 0x60) * *pfVar2 + fVar3;
      *param_2 = fVar3;
      *pfVar2 = fVar3;
      pfVar2 = pfVar2 + 1;
    } while (uVar1 < *(uint *)(param_1 + 100));
  }
  return;
}


   --- [52] 0x18058c8b0 size=74 ---

void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__(longlong param_1)

{
  double dVar1;
  float fVar2;
  
  fVar2 = expf((*(float *)(param_1 + 0x68) / *(float *)(param_1 + 0x24)) *
               *(float *)(param_1 + 0xf4));
  dVar1 = DAT_1824c4140;
  *(float *)(param_1 + 0x60) = fVar2;
  *(float *)(param_1 + 0xf0) = (float)(dVar1 - (double)fVar2);
  return;
}


   --- [53] 0x18058c7b0 size=149 ---

void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__
               (longlong param_1,uint param_2)

{
  double dVar1;
  double dVar2;
  float fVar3;
  
  dVar1 = DAT_1824c4140;
  *(uint *)(param_1 + 100) = param_2;
  dVar2 = pow(DAT_1824c41e8,dVar1 / (double)param_2);
  dVar2 = sqrt(dVar2 - dVar1);
  fVar3 = (float)((dVar1 / dVar2) * DAT_1824c46b8);
  *(float *)(param_1 + 0xf4) = fVar3;
  fVar3 = expf((*(float *)(param_1 + 0x68) / *(float *)(param_1 + 0x24)) * fVar3);
  *(float *)(param_1 + 0x60) = fVar3;
  *(float *)(param_1 + 0xf0) = (float)(dVar1 - (double)fVar3);
  return;
}


   --- [63] 0x18058b500 size=275 ---

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

void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__
               (longlong param_1,undefined8 param_2,undefined8 *param_3)

{
  uint *_Memory;
  uint uVar1;
  undefined8 uVar2;
  double dVar3;
  int iVar4;
  undefined8 *puVar5;
  undefined4 uVar6;
  undefined1 auStack_78 [32];
  longlong local_58;
  undefined8 local_50;
  undefined8 *local_48;
  longlong *local_40;
  undefined1 local_38 [8];
  ulonglong local_30;
  
  local_50 = 0xfffffffffffffffe;
  local_30 = DAT_182615970 ^ (ulonglong)auStack_78;
  local_58 = *(longlong *)(param_1 + 0x9b50);
  _Memory = (uint *)(local_58 + -0x10);
  if ((*_Memory & 0x30000000) == 0) {
    LOCK();
    *_Memory = *_Memory + 1;
    UNLOCK();
  }
  local_48 = param_3;
  iVar4 = FUN_18048cbc0(param_2,local_58);
  if ((*_Memory & 0x30000000) == 0) {
    LOCK();
    uVar1 = *_Memory;
    *_Memory = *_Memory - 1;
    UNLOCK();
    if (uVar1 == 0) {
                    /* WARNING: Subroutine does not return */
      free(_Memory);
    }
  }
  if ((iVar4 == 0) && (*(longlong *)(param_1 + 0x18) != 0)) {
    puVar5 = (undefined8 *)
             (**(code **)(*(longlong *)(param_1 + 0x9b48) + 0x10))
                       ((longlong *)(param_1 + 0x9b48),&local_40);
    dVar3 = (double)(**(code **)(*(longlong *)*puVar5 + 0x18))((longlong *)*puVar5,puVar5 + 1);
    (**(code **)(*local_40 + 0xb0))(local_40,local_38);
    uVar2 = *(undefined8 *)(param_1 + 0x18);
    uVar6 = FUN_180487300(param_1 + 0x9958,(float)dVar3);
    FUN_18058cb60(uVar2,uVar6);
  }
  (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1);
}


############ VTABLE FilterGraph_6_0x400 0x1824be228
SLOTLIST:
   [0] 0x18058eb1c size=12
   [1] 0x18058b010 size=176
   [2] 0x18251ab48 size=0
   [3] 0x18058eab0 size=12
   [4] 0x18160b000 size=4718
   [5] 0x1804714b0 size=3
   [6] 0x18251a6c8 size=0
   [7] 0x1805893c0 size=52
   [8] 0x18134bc00 size=3
   [9] 0x18134bbf0 size=3
   [10] 0x18134bbe0 size=3
   [11] 0x18134bbd0 size=3
   [12] 0x18134bbc0 size=3
   [13] 0x18134bbb0 size=3
   [14] 0x18134bba0 size=3
   [15] 0x18134bb30 size=93
   [16] 0x18134bad0 size=82
   [17] 0x18134c900 size=397
   [18] 0x18134c760 size=397
   [19] 0x18134c750 size=3
   [20] 0x18134c3a0 size=933
   [21] 0x18134c2d0 size=3
   [22] 0x18134c2c0 size=3
   [23] 0x18134c270 size=69
   [24] 0x18134bf10 size=3
   [25] 0x18134bf00 size=3
   [26] 0x18134be30 size=195
   [27] 0x18134bde0 size=3
   [28] 0x18134bcf0 size=66
   [29] 0x18134bce0 size=3
   [30] 0x18134bc50 size=126
   [31] 0x18134bc20 size=34
   [32] 0x18134ade0 size=3
   [33] 0x18134bc10 size=3
   [34] 0x18134bac0 size=3
   [35] 0x18134bab0 size=3
   [36] 0x18134ba90 size=20
   [37] 0x18134ba80 size=3
   [38] 0x18134ba70 size=3
   [39] 0x18134ba60 size=3
   [40] 0x18160c410 size=1445
   [41] 0x18134ba50 size=3
   [42] 0x18134adc0 size=3
   [43] 0x18134ba40 size=3
   [44] 0x18134ba30 size=3
   [45] 0x18134ba20 size=3
   [46] 0x18134ba10 size=3
   [47] 0x18134b940 size=196
   [48] 0x18134b930 size=3
   [49] 0x18134b870 size=87
   [50] 0x18251aed8 size=0
   [51] 0x18058e360 size=22
   [52] 0x18058e360 size=22
   [53] 0x18058e380 size=124
   [54] 0x18058e350 size=8
   [55] 0x18048dc80 size=15
   [56] 0x180481210 size=5
   [57] 0x18251ab70 size=0
   [58] 0x18058eb04 size=12
   [59] 0x1804714b0 size=3
   [60] 0x18058b220 size=318
   [61] 0x18058b0c0 size=313
   [62] 0x1804714b0 size=3
   [63] 0x18251ac50 size=0
CCODE:
   --- [1] 0x18058b010 size=176 ---

void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___(longlong param_1)

{
  byte *pbVar1;
  ulonglong uVar2;
  byte bVar3;
  undefined8 local_18;
  undefined4 uStack_10;
  undefined4 uStack_c;
  
  uVar2 = (ulonglong)*(uint *)(param_1 + 0x97b0);
  if (0 < (int)*(uint *)(param_1 + 0x97b0)) {
    bVar3 = *(byte *)(param_1 + 0x9939);
    pbVar1 = (byte *)(param_1 + 0x993a);
    do {
      bVar3 = bVar3 | *pbVar1;
      pbVar1 = pbVar1 + 1;
      *(byte *)(param_1 + 0x9939) = bVar3;
      uVar2 = uVar2 - 1;
    } while (uVar2 != 0);
  }
  if (*(char *)(param_1 + 0x9939) != '\0') {
    (**(code **)(*(longlong *)(param_1 + -200) + 0x170))(param_1 + -200);
    uStack_10 = *(undefined4 *)(param_1 + -0xa0);
    uStack_c = *(undefined4 *)(param_1 + -0x9c);
    local_18 = 0;
    FUN_181342870(param_1 + -200,&local_18,1);
    *(undefined1 *)(param_1 + 0x9939) = 0;
  }
  return;
}


   --- [4] 0x18160b000 size=4718 ---

/* WARNING: Instruction at (ram,0x00018160bbc8) overlaps instruction at (ram,0x00018160bbc3)
    */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
/* WARNING: Removing unreachable block (ram,0x00018160b5f3) */
/* WARNING: Removing unreachable block (ram,0x00018160b060) */
/* WARNING: Removing unreachable block (ram,0x00018160b041) */
/* WARNING: Removing unreachable block (ram,0x00018160b229) */
/* WARNING: Removing unreachable block (ram,0x00018160bbc3) */
/* WARNING: Removing unreachable block (ram,0x00018160b46f) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Restarted to delay deadcode elimination for space: stack */

void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___
               (longlong param_1,int param_2,undefined8 param_3)

{
  uint uVar1;
  uint uVar2;
  byte bVar3;
  undefined8 uVar4;
  longlong lVar5;
  undefined1 *puVar6;
  uint uVar7;
  ulonglong uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint *puVar13;
  uint uVar14;
  longlong lVar15;
  undefined4 *puVar16;
  ulonglong uVar17;
  longlong *plVar18;
  uint *puVar19;
  uint *puVar20;
  undefined1 *puVar21;
  undefined8 uVar22;
  uint uVar23;
  uint uVar24;
  uint uVar25;
  uint uVar26;
  uint uVar27;
  int iVar28;
  uint uVar29;
  ulonglong uVar30;
  uint uVar31;
  longlong lVar32;
  bool bVar33;
  int unaff_retaddr;
  undefined1 auStack_148 [32];
  int local_128;
  uint local_124;
  uint *local_120;
  undefined *local_118;
  uint local_110;
  uint local_10c;
  uint local_108;
  uint local_104;
  uint local_100;
  uint local_fc;
  int local_f8;
  undefined8 local_f0;
  undefined4 local_e8;
  uint local_e4;
  int local_e0;
  uint local_dc;
  code *local_d8;
  longlong local_d0;
  undefined8 local_c8;
  undefined4 local_c0;
  undefined4 local_bc;
  longlong local_b8;
  longlong local_b0;
  longlong local_a8;
  code *local_a0;
  uint local_94;
  uint local_90;
  undefined4 local_80;
  uint local_7c;
  int local_78;
  uint local_74;
  undefined1 local_68 [8];
  uint local_60;
  uint local_5c;
  ulonglong local_40;
  
  local_40 = DAT_182615970 ^ (ulonglong)auStack_148;
  uVar29 = (uint)&stack0x00000000 & 0x3ff;
  local_dc = 0x9ea5 - ((uVar29 + 2) * (uVar29 + 1) * uVar29) % 3 ^ 0x9655;
  local_e0 = 0x420;
  local_f0 = 0x100;
  local_120 = &DAT_18163cb4c;
  local_118 = &DAT_18163cc4c;
  uVar29 = (DAT_18163cb4c ^ 0x811c9e53) * 0x10001d1;
  uVar30 = (ulonglong)uVar29;
  uVar29 = _DAT_18163cb78 ^
           (_DAT_18163cb74 ^
           (_DAT_18163cb70 ^
           (_DAT_18163cb6c ^
           (_DAT_18163cb68 ^
           (DAT_18163cb64 ^
           (DAT_18163cb60 ^
           (DAT_18163cb5c ^
           (DAT_18163cb58 ^ (DAT_18163cb54 ^ (DAT_18163cb50 ^ uVar29) * 0x10001d1) * 0x10001d1) *
           0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1)
           * 0x10001d1;
  local_f8 = param_2;
  local_d0 = param_1;
  local_c8 = param_3;
  do {
    uVar22 = rdtsc();
    local_110 = (uint)uVar22 ^ (uint)((ulonglong)uVar22 >> 0x20);
    FUN_18160962e();
    uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar9 < 0) {
      uVar9 = (uVar9 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar9 != 0);
  local_110 = (local_110 * -0x3d4d4602 >> 0x18 ^ local_110 * -0x3d4d4602) * -0x3b313595;
  if (local_110 < 0x430fc8) {
    do {
      local_d8 = FUN_1813f2240;
      uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar9 < 0) {
        uVar9 = (uVar9 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar9 != 0);
    uVar8 = FUN_1813f2240(0,0x672d);
    if (1 < uVar8) {
      FUN_18113eab0();
    }
  }
  lVar15 = 0x17;
  uVar29 = (_DAT_18163cb7c ^ uVar29 * 0x10001d1) * 0x10001d1;
  local_118 = (undefined *)0xeb1172bd7cee29a8;
  puVar19 = (uint *)&DAT_18163cb80;
  local_120 = (uint *)CONCAT44(local_120._4_4_,0x7cee29a8);
  do {
    uVar9 = *puVar19;
    puVar19 = puVar19 + 1;
    uVar29 = (uVar9 ^ uVar29) * 0x10001d1;
    lVar15 = lVar15 + -1;
  } while (lVar15 != 0);
  uVar29 = (*puVar19 ^ uVar29) * 0x10001d1;
  if ((uVar29 >> 8 & 1) == 0) {
    uVar9 = uVar29 & 0x27f;
    iVar28 = (uVar9 + 2) * (uVar9 + 1) * uVar9;
    uVar9 = ((iVar28 >> 1) - (iVar28 >> 3)) + iVar28 * 0x55555555 >> 0x1e;
  }
  else {
    uVar9 = uVar29 & 0x3f;
    uVar9 = (uVar9 + 1) * (uVar9 + 1) * uVar9 * uVar9 & 1;
  }
  uVar9 = 0xf642 - uVar9 ^ 0xf542;
  puVar20 = (uint *)((longlong)puVar19 + (longlong)(int)uVar9 + -0x2f4);
  uVar24 = (uint)puVar20 & 0xff;
  uVar9 = (*puVar20 ^
          (*(uint *)((longlong)puVar19 + (longlong)(int)uVar9 + -0x2f8) ^
          (*(uint *)((longlong)puVar19 + (longlong)(int)uVar9 + -0x2fc) ^ uVar29) * 0x10001d1) *
          0x10001d1) * 0x10001d1;
  uVar29 = uVar9 & 0x3bff;
  uVar29 = ((uVar29 + 1) * uVar29 + 7) % 0x51 - ((uVar24 + 2) * (uVar24 + 1) * uVar24) % 3;
  puVar20 = (uint *)((longlong)puVar20 +
                    (0x204 - (ulonglong)(~((int)(uVar29 | -uVar29) >> 0x1f & 0xfffffdffU) & 0xfae7))
                    );
  bVar33 = puVar20 == (uint *)0x0;
  bVar3 = POPCOUNT((ulonglong)puVar20 & 0xff);
  do {
    if (((bVar3 & 1) == 0) && (bVar33)) {
      uVar30 = ~(~uVar30 + 1) + 1;
    }
    uVar29 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar29 < 0) {
      uVar29 = (uVar29 - 1 | 0xfffffffe) + 1;
    }
    bVar33 = uVar29 == 0;
    bVar3 = POPCOUNT(uVar29 & 0xff);
  } while (!bVar33);
  uVar24 = (int)puVar20 + 4U & 0x5f;
  uVar26 = (puVar20[1] ^ (*puVar20 ^ uVar9) * 0x10001d1) * 0x10001d1;
  uVar29 = uVar26 & 0x1f;
  puVar20 = (uint *)((longlong)puVar20 +
                    (((longlong)
                      (int)(((uVar24 + 1) * (uVar24 + 1) * uVar24 * uVar24 & 1) +
                           ((uVar29 + 1) * (uVar29 + 1) * uVar29 * uVar29 & 0x80000003)) ^ 0x400U) -
                    0x3f8));
  uVar29 = *puVar20;
  uVar9 = puVar20[1];
  uVar24 = puVar20[2];
  uVar25 = puVar20[3];
  uVar27 = puVar20[4];
  uVar1 = puVar20[5];
  do {
    local_e8 = 0xf4b58d1e;
    uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar10 < 0) {
      uVar10 = (uVar10 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar10 != 0);
  uVar10 = puVar20[6];
  uVar2 = puVar20[7];
  do {
    local_c0 = 0x72;
    local_b8 = 0x18160b707;
    uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar11 < 0) {
      uVar11 = (uVar11 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar11 != 0);
  local_128 = 0x101f68d;
  do {
    plVar18 = &local_b0;
    puVar16 = &local_bc;
    puVar19 = &local_104;
    FUN_18160cf73();
    *puVar19 = 0x4816aad0;
    *puVar16 = 0x6c;
    *plVar18 = 0x18160b7e7;
    uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar11 < 0) {
      uVar11 = (uVar11 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar11 != 0);
  lVar15 = local_128 + local_b8;
  uVar11 = local_104 << 4;
  uVar14 = local_104 >> 0x1c;
  uVar7 = local_104 >> 4;
  uVar23 = local_104 << 0x1c;
  local_128 = 0;
  local_104 = 0;
  uVar11 = ((uVar7 | uVar23) & 0xe1e1e1e1 | (uVar11 | uVar14) & 0x1e1e1e1e) ^ 0xe5d863fd;
  uVar14 = ((uVar11 & 0x33333333) << 2 | uVar11 >> 2 & 0x33333333) + 0x87604ead;
  uVar11 = (uVar14 >> 0xf ^ uVar14) & 0x3fff;
  uVar14 = uVar14 ^ (uVar11 << 0xf | uVar11);
  uVar14 = ((uVar14 << 0x10 | uVar14 >> 0x10) & 0xed1212ed |
           (uVar14 >> 0x10 | uVar14 << 0x10) & 0x12eded12) ^ 0xb938882a;
  uVar11 = (uVar14 >> 0xe ^ uVar14) >> 2 & 0x3fff;
  uVar14 = uVar14 ^ (uVar11 << 0xe | uVar11) << 2;
  lVar32 = ((longlong)(int)(uVar14 << 0x10 | uVar14 >> 0x10) & 0xffffffffcb0934f6U |
           (ulonglong)((uVar14 >> 0x10 | uVar14 << 0x10) & 0x34f6cb09)) + local_b0;
  *(longlong *)(lVar15 + 4) =
       *(longlong *)(lVar15 + 4) +
       (ulonglong)((uint)(*(ulonglong *)(lVar32 + 4) >> 0x1b) & 0x45210049);
  do {
    puVar19 = &local_e4;
    puVar13 = &local_124;
    FUN_18160a47b();
    uVar22 = rdtsc();
    uVar11 = (int)uVar22 + (int)((ulonglong)uVar22 >> 0x20);
    *puVar19 = uVar11;
    uVar8 = (ulonglong)uVar11 * -0x47ff - 0x419c2dc1;
    uVar8 = uVar8 - (uVar8 * 0x20 | uVar8 >> 0x3b);
    *puVar13 = (uint)((uVar8 ^ (uVar8 >> 0xd) - 0x3b73948f) * 0x101 - 0x6d2a332 >> 5) & 0xc78b3a8e;
    lVar5 = local_d0;
    uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar11 < 0) {
      uVar11 = (uVar11 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar11 != 0);
  *(int *)(lVar15 + 8) = *(int *)(lVar15 + 8) + (local_124 ^ 0x328b734b);
  *(int *)(lVar15 + 4) = *(int *)(lVar15 + 4) + (local_124 ^ 0xc0006fe8);
  uVar17 = (*(ulonglong *)(lVar15 + 4) << 0x21 | *(ulonglong *)(lVar15 + 4) >> 0x1f) +
           0xb0379220c452d670;
  uVar8 = (ulonglong)((uint)((uVar17 >> 0x1e ^ uVar17) >> 2) & 0x1fffff);
  uVar8 = ((uVar8 << 0x1e | uVar8) << 2 ^ uVar17) + 0xba631318a0d4a7cb;
  uVar17 = (uVar8 >> 4 | uVar8 << 0x3c) & 0xc3c3c3c3c3c3c3c3 |
           (uVar8 * 0x10 | uVar8 >> 0x3c) & 0x3c3c3c3c3c3c3c3c;
  uVar11 = (uint)((uVar17 >> 9 ^ uVar17) >> 0x1a) & 1;
  uVar8 = ((ulonglong)uVar11 << 9 | (ulonglong)uVar11) << 0x1a ^ uVar17;
  uVar8 = ((uVar8 << 4 | uVar17 >> 0x3c) & 0xe1e1e1e1e1e1e1e1 |
          (uVar8 >> 4 | uVar17 << 0x3c) & 0x1e1e1e1e1e1e1e1e) + 0xcbb348cc940fcd7a;
  uVar8 = (uVar8 >> 2 | uVar8 << 0x3e) & 0x9999999999999999 |
          (uVar8 * 4 | uVar8 >> 0x3e) & 0x6666666666666666;
  *(ulonglong *)(lVar15 + 4) = uVar8;
  plVar18 = (longlong *)(lVar32 + 4);
  *plVar18 = *plVar18 + (ulonglong)((uint)(uVar8 >> 0xf) & 0x20230248);
  local_124 = (uint)(*(ulonglong *)(lVar15 + 4) >> 0x1b) & 0x7fffffff;
  local_108 = (uint)(*(ulonglong *)(lVar15 + 4) >> 0x19) ^ 0xb9d9b711;
  local_118 = (undefined *)(*(ulonglong *)(lVar15 + 4) ^ 0x49746e3163e2e07a);
  uVar29 = (puVar20[0xb] ^
           (puVar20[10] ^
           (puVar20[9] ^
           (puVar20[8] ^
           (uVar2 ^ (uVar10 ^ (uVar1 ^ (uVar27 ^ (uVar25 ^ (uVar24 ^ (uVar9 ^ (uVar29 ^ uVar26) *
                                                                              0x10001d1) * 0x10001d1
                                                           ) * 0x10001d1) * 0x10001d1) * 0x10001d1)
                              * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) *
           0x10001d1) * 0x10001d1;
  local_f0 = CONCAT44(local_f0._4_4_,uVar29);
  do {
    uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar9 < 0) {
      uVar9 = (uVar9 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar9 != 0);
  local_90 = (uint)local_118;
  uVar9 = ((local_90 ^ local_108) & 0x6593f979 ^ local_108) + 0x4ed1481b;
  uVar24 = ((local_90 ^ local_108) & 0x9a6c0686 ^ local_108) + 0xaef7aa14;
  uVar27 = (int)((ulonglong)local_118 >> 0x20) + 0x7bc739d3;
  uVar25 = (uVar9 * 0x100 | uVar9 >> 0x18) & 0x9a659a65 |
           (uVar9 >> 8 | uVar9 * 0x1000000) & 0x659a659a;
  uVar27 = uVar27 >> 2 & 0xcccccccc | uVar27 * 0x40000000 | uVar27 * 4 & 0x33333333 | uVar27 >> 0x1e
  ;
  uVar24 = ((uVar24 * 0x10000 | uVar24 >> 0x10) & 0xc73b38c4 |
           (uVar24 >> 0x10 | uVar24 * 0x10000) & 0x38c4c73b) ^ uVar25;
  uVar9 = uVar24 & 0x8a578475 ^ uVar25;
  uVar22 = 0x1f67ec24;
  uVar24 = uVar24 & 0x75a87b8a ^ uVar25 ^ uVar9;
  uVar25 = uVar24 & 0x44465b56 ^ uVar9;
  uVar9 = uVar24 & 0xbbb9a4a9 ^ uVar9;
  uVar24 = uVar25 >> 0x19 | uVar25 << 7;
  uVar25 = (uVar27 >> 10 | uVar27 << 0x16) ^ uVar24;
  uVar31 = (uVar9 >> 0x1f | uVar9 << 1) ^ 0xea2cbcd1;
  uVar8 = (ulonglong)uVar31;
  uVar7 = uVar25 & 0xddffbe9c ^ uVar24;
  uVar23 = uVar25 & 0x22004163 ^ uVar24 ^ uVar7;
  uVar9 = puVar20[0xc];
  uVar24 = puVar20[0xd];
  uVar25 = puVar20[0xe];
  uVar27 = puVar20[0xf];
  uVar1 = puVar20[0x10];
  uVar26 = puVar20[0x11];
  uVar10 = puVar20[0x12];
  uVar2 = puVar20[0x13];
  uVar11 = puVar20[0x14];
  uVar14 = puVar20[0x15];
  do {
    uVar4 = rdtsc();
    local_e4 = (int)uVar4 - (int)((ulonglong)uVar4 >> 0x20);
    uVar17 = (ulonglong)local_e4 - ((ulonglong)(local_e4 >> 5) - 0x3dd514ae) >> 8;
    uVar17 = uVar17 + (~-uVar17 + 1) * 0x200 + -0x72ddc7ad;
    uVar17 = uVar17 ^ uVar17 * 0x200;
    uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar12 < 0) {
      uVar12 = (uVar12 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar12 != 0);
  local_100 = (uint)((int)uVar17 - (int)(uVar17 << 5)) >> 1 ^ local_124;
  local_94 = local_108;
  if (local_100 < 0xd698) {
    do {
      uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar12 < 0) {
        uVar12 = (uVar12 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar12 != 0);
    local_10c = 0x7432a569;
    local_80 = 0x1f67ec24;
    local_7c = uVar31;
    local_78 = (uVar23 & 0x7310039d ^ uVar7) + 0x6bb1bcf9;
    local_74 = uVar23 & 0x8ceffc62 ^ uVar7 ^ 0xaa7d1554;
    do {
      plVar18 = &local_a8;
      puVar19 = &local_fc;
      FUN_18160cbe4();
      *puVar19 = 0x5e5cf042;
      uVar30 = 0;
      *plVar18 = 0x18160bf83;
      FUN_18160a645();
      uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar7 < 0) {
        uVar7 = (uVar7 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar7 != 0);
    uVar7 = (local_fc + 0x1804952a >> 0x15 | (local_fc + 0x1804952a) * 0x800) ^ 0x90bd4e7c;
    local_fc = ~((uVar7 >> 0x11 | uVar7 << 0xf) + 0xe9b473b7);
    (*(code *)((int)local_fc + local_a8))(&local_80,local_68);
    iVar28 = 7;
    do {
      uVar31 = ((local_60 << 4 | local_60 >> 0x1c) & 0xb4b4b4b4 |
               (local_60 >> 4 | local_60 << 0x1c) & 0x4b4b4b4b) + 0xedf66992;
      uVar23 = ((local_5c >> 8 | local_5c << 0x18) & 0xfa05fa05 |
               (local_5c << 8 | local_5c >> 0x18) & 0x5fa05fa) + 0x703d2ee4;
      uVar7 = uVar31 >> 0xc;
      uVar23 = (uVar23 >> 0x1d | uVar23 * 8) + 0x5f26144;
      uVar31 = (((uVar7 | uVar31 * 0x100000) ^ 0x2677a938) >> 3 | uVar7 << 0x1d) + 0x70f6a640;
      uVar23 = (uVar23 * 0x8000 | uVar23 >> 0x11) + 0x191d2650;
      uVar12 = uVar31 >> 0x17 | uVar31 * 0x200;
      uVar7 = uVar23 >> 0xc;
      uVar23 = uVar23 * 0x100000 | uVar7;
      uVar31 = (uVar12 >> 8 | (uVar31 >> 0x17) << 0x18) & 0xa857a857 |
               (uVar12 << 8 | (uVar31 & 0x7fffff) >> 0xf) & 0x57a857a8;
      uVar23 = (uVar7 << 0x10 | uVar23 >> 0x10) & 0xd65429ab |
               (uVar23 >> 0x10 | uVar7 << 0x10) & 0x29abd654;
      uVar7 = uVar31 >> 6;
      local_60 = uVar7 | uVar31 << 0x1a;
      local_5c = uVar23 << 0x16 | uVar23 >> 10;
      iVar28 = iVar28 + -1;
    } while (-1 < iVar28);
    uVar7 = (uVar7 << 0x1d | local_60 >> 3) + 0xa6be00c2;
    uVar7 = (uVar7 * 0x80 | uVar7 >> 0x19) + 0xc72db2d0;
    uVar7 = (uVar7 * 8 | uVar7 >> 0x1d) + 0x5e0136f7;
    uVar7 = (uVar7 * 0x400 | uVar7 >> 0x16) ^ 0xd2776bfa;
    if (((uVar7 >> 0x10 | uVar7 << 0x10) ^ local_10c) + local_5c != local_108) {
      do {
        local_a0 = FUN_180bc28e0;
        uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
        if ((int)uVar7 < 0) {
          uVar7 = (uVar7 - 1 | 0xfffffffe) + 1;
        }
      } while (uVar7 != 0);
      FUN_180bc28e0();
      do {
        uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
        if ((int)uVar7 < 0) {
          uVar7 = (uVar7 - 1 | 0xfffffffe) + 1;
        }
      } while (uVar7 != 0);
    }
  }
  uVar9 = (uVar14 ^ (uVar11 ^ (uVar2 ^ (uVar10 ^ (uVar26 ^ (uVar1 ^ (uVar27 ^ (uVar25 ^ (uVar24 ^ (
                                                  uVar9 ^ uVar29) * 0x10001d1) * 0x10001d1) *
                                                  0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1)
                                       * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1 ^
          0xd282d6a9;
  uVar29 = (uVar9 >> 0xe ^ uVar9) >> 1 & 0xff;
  lVar32 = (longlong)local_f8;
  uVar29 = ~((uVar29 << 0xe | uVar29) * 2 ^ uVar9) + 0xac1763b7;
  uVar9 = uVar29 >> 0x17 | uVar29 * 0x200;
  uVar29 = ((uVar29 & 0x7fffff) >> 3 ^ uVar9) >> 7 & 0x1ff;
  lVar15 = lVar32 * 0x828 + 0x3830 + lVar5;
  if ((uint)local_120 == ((uVar29 << 0xc | uVar29) << 7 ^ uVar9)) {
    FUN_180589400(lVar15,local_c8);
    *(undefined1 *)(*(longlong *)(lVar5 + 0x10) + 0x9a02 + lVar32) = 1;
    thunk_FUN_1805a9280();
    return;
  }
  FUN_180589400(lVar15,local_c8);
  *(undefined1 *)(*(longlong *)(lVar5 + 0x10) + 0x9a02 + lVar32) = 1;
  puVar6 = auStack_148;
  do {
    puVar21 = puVar6;
    *(ulonglong *)(puVar21 + -8) = uVar30;
    *(undefined8 *)(puVar21 + -0x10) = uVar22;
    *(ulonglong *)(puVar21 + -0x18) = uVar8;
    lVar15 = -(longlong)local_e0;
    uVar8 = *(ulonglong *)(puVar21 + lVar15 + 0x408);
    uVar22 = *(undefined8 *)(puVar21 + lVar15 + 0x410);
    uVar30 = *(ulonglong *)(puVar21 + lVar15 + 0x418);
    uVar29 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar29 < 0) {
      uVar29 = (uVar29 - 1 | 0xfffffffe) + 1;
    }
    puVar6 = puVar21 + lVar15 + 0x420;
  } while (uVar29 != 0);
  *(undefined **)(puVar21 + lVar15 + 0x418) = &UNK_18160c3e2;
}


   --- [15] 0x18134bb30 size=93 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined8 param_2,undefined8 param_3)

{
  longlong lVar1;
  undefined8 uVar2;
  undefined1 local_68 [96];
  
  if (*(longlong **)(param_1 + 0x18) != (longlong *)0x0) {
    lVar1 = **(longlong **)(param_1 + 0x18);
    uVar2 = FUN_181339840(param_2,local_68);
    (**(code **)(lVar1 + 0x40))(*(undefined8 *)(param_1 + 0x18),uVar2,param_3);
  }
  return;
}


   --- [16] 0x18134bad0 size=82 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined8 param_2,undefined4 param_3)

{
  undefined8 uVar1;
  undefined1 local_78 [112];
  
  if (*(longlong *)(param_1 + 0x18) != 0) {
    uVar1 = FUN_181339840(param_2,local_78);
    (**(code **)(**(longlong **)(param_1 + 0x18) + 0x48))
              (*(longlong **)(param_1 + 0x18),uVar1,param_3);
  }
  return;
}


   --- [17] 0x18134c900 size=397 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)

{
  int *piVar1;
  uint uVar2;
  code *pcVar3;
  longlong *plVar4;
  undefined8 *puVar5;
  longlong lVar6;
  uint *_Memory;
  int iVar7;
  bool bVar8;
  undefined8 *local_res8;
  undefined1 local_res10 [16];
  
  lVar6 = *param_2;
  if (*(longlong *)(param_1 + 8) == lVar6) {
    iVar7 = 0;
  }
  else {
    iVar7 = FUN_18048cbc0(*(undefined8 *)(param_1 + 8),lVar6,param_3,param_4,0xfffffffffffffffe);
  }
  if (iVar7 != 0) {
    if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) {
      LOCK();
      *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1;
      UNLOCK();
    }
    LOCK();
    lVar6 = *(longlong *)(param_1 + 8);
    *(longlong *)(param_1 + 8) = *param_2;
    UNLOCK();
    _Memory = (uint *)(lVar6 + -0x10);
    if ((*_Memory & 0x30000000) == 0) {
      LOCK();
      uVar2 = *_Memory;
      *_Memory = *_Memory - 1;
      UNLOCK();
      if (uVar2 == 0) {
                    /* WARNING: Subroutine does not return */
        free(_Memory);
      }
    }
    if (((*(byte *)(param_1 + 0xa8) & 1) != 0) &&
       (plVar4 = (longlong *)FUN_1812d2bd0(param_1), plVar4 != (longlong *)0x0)) {
      if ((undefined **)*plVar4 == juce::HWNDComponentPeer::vftable) {
        puVar5 = (undefined8 *)FUN_18049a930(local_res10);
        SetWindowTextW((HWND)plVar4[0x11],(LPCWSTR)*puVar5);
      }
      else {
        (*(code *)((undefined **)*plVar4)[3])(plVar4,param_2);
      }
    }
    FUN_1804de690(&local_res8,param_1);
    puVar5 = local_res8;
    iVar7 = *(int *)(param_1 + 0x8c);
    bVar8 = local_res8 == (undefined8 *)0x0;
    while( true ) {
      if (bVar8) {
        lVar6 = 0;
      }
      else {
        lVar6 = puVar5[2];
      }
      if ((lVar6 == 0) || (iVar7 < 1)) break;
      iVar7 = iVar7 + -1;
      if ((*(int *)(param_1 + 0x8c) <= iVar7) && (iVar7 = *(int *)(param_1 + 0x8c) + -1, iVar7 < 0))
      break;
      plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x80) + (longlong)iVar7 * 8);
      pcVar3 = *(code **)(*plVar4 + 0x30);
      if (pcVar3 != .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__) {
        (*pcVar3)(plVar4,param_1);
      }
    }
    if (puVar5 != (undefined8 *)0x0) {
      LOCK();
      piVar1 = (int *)(puVar5 + 1);
      iVar7 = *piVar1;
      *piVar1 = *piVar1 + -1;
      UNLOCK();
      if (iVar7 == 1) {
        (**(code **)*local_res8)(local_res8,1);
      }
    }
  }
  return;
}


   --- [18] 0x18134c760 size=397 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,byte param_2,undefined8 param_3,undefined8 param_4)

{
  int *piVar1;
  int iVar2;
  undefined8 *puVar3;
  longlong lVar4;
  longlong *plVar5;
  longlong lVar6;
  bool bVar7;
  undefined8 *local_res8;
  undefined4 local_28;
  undefined4 uStack_24;
  undefined4 uStack_20;
  undefined4 uStack_1c;
  
  if ((*(byte *)(param_1 + 0xa8) >> 1 & 1) != param_2) {
    FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe);
    *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) & 0xfd;
    *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) | (param_2 & 1) * '\x02';
    lVar6 = 0;
    if (param_2 == 0) {
      FUN_181342b10(param_1);
    }
    else {
      uStack_1c = *(undefined4 *)(param_1 + 0x2c);
      uStack_20 = *(undefined4 *)(param_1 + 0x28);
      local_28 = 0;
      uStack_24 = 0;
      FUN_181342870(param_1,&local_28,1);
    }
    FUN_18133f790();
    if (param_2 == 0) {
      FUN_1804e5060(param_1);
      for (lVar4 = DAT_182673708; lVar4 != param_1; lVar4 = *(longlong *)(lVar4 + 0x18)) {
        if (lVar4 == 0) goto LAB_18134c84f;
      }
      if (*(longlong *)(param_1 + 0x18) == 0) {
        FUN_18133eae0(1);
      }
      else {
        FUN_18133ed60(*(longlong *)(param_1 + 0x18),2,1);
      }
    }
LAB_18134c84f:
    puVar3 = local_res8;
    bVar7 = local_res8 != (undefined8 *)0x0;
    lVar4 = lVar6;
    if (bVar7) {
      lVar4 = local_res8[2];
    }
    if (lVar4 != 0) {
      FUN_1813452b0(param_1);
      if (bVar7) {
        lVar6 = puVar3[2];
      }
      if (((lVar6 != 0) && ((*(byte *)(param_1 + 0xa8) & 1) != 0)) &&
         (plVar5 = (longlong *)FUN_18134c2e0(param_1), plVar5 != (longlong *)0x0)) {
        (**(code **)(*plVar5 + 0x10))(plVar5,param_2);
        FUN_181343670(param_1);
      }
    }
    if (puVar3 != (undefined8 *)0x0) {
      LOCK();
      piVar1 = (int *)(puVar3 + 1);
      iVar2 = *piVar1;
      *piVar1 = *piVar1 + -1;
      UNLOCK();
      if (iVar2 == 1) {
        (**(code **)*local_res8)(local_res8,1);
      }
    }
  }
  return;
}


   --- [20] 0x18134c3a0 size=933 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong *param_1,uint param_2,undefined8 param_3)

{
  int *piVar1;
  undefined8 *puVar2;
  int iVar3;
  ulonglong uVar4;
  longlong lVar5;
  undefined8 *puVar6;
  char cVar7;
  int iVar8;
  longlong *plVar9;
  ulonglong *puVar10;
  ulonglong uVar11;
  undefined4 uVar12;
  longlong *plVar13;
  undefined8 *puVar14;
  ulonglong uVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  undefined4 uVar18;
  undefined4 uVar19;
  char local_res20;
  undefined8 *local_88;
  longlong local_80;
  undefined8 local_78;
  undefined1 local_70 [8];
  longlong *local_68;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 uStack_50;
  
  local_78 = 0xfffffffffffffffe;
  if ((*(byte *)(param_1 + 0x15) >> 2 & 1) == 0) {
    param_2 = param_2 | 0x40000000;
  }
  else {
    param_2 = param_2 & 0xbfffffff;
  }
  plVar9 = (longlong *)FUN_1812d2bd0();
  if ((plVar9 != (longlong *)0x0) && (param_2 == *(uint *)(plVar9 + 2))) {
    return;
  }
  FUN_1804de690(&local_88,param_1);
  uVar15 = 0;
  uVar4 = uVar15;
  puVar6 = local_88;
  for (plVar13 = param_1; local_88 = puVar6, plVar13 != (longlong *)0x0;
      plVar13 = (longlong *)plVar13[3]) {
    puVar10 = (ulonglong *)FUN_18051e290(local_70,plVar13,uVar4);
    uVar4 = *puVar10;
    puVar6 = local_88;
  }
  cVar7 = '\0';
  local_res20 = '\0';
  local_80 = 0;
  uVar16 = 0;
  uVar17 = 0;
  uVar18 = 0;
  uVar19 = 0;
  local_58 = 0;
  uStack_50 = 0;
  iVar8 = -1;
  if (plVar9 != (longlong *)0x0) {
    local_68 = plVar9;
    cVar7 = (**(code **)(*plVar9 + 0x78))(plVar9);
    local_res20 = (**(code **)(*plVar9 + 0x68))(plVar9);
    local_80 = plVar9[5];
    uVar16 = *(undefined4 *)((longlong)plVar9 + 0x14);
    uVar17 = (undefined4)plVar9[3];
    local_58 = *(undefined8 *)((longlong)plVar9 + 0x14);
    uVar18 = *(undefined4 *)((longlong)plVar9 + 0x1c);
    uVar19 = (undefined4)plVar9[4];
    uStack_50 = *(undefined8 *)((longlong)plVar9 + 0x1c);
    iVar8 = (**(code **)(*plVar9 + 0x100))(plVar9);
    *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xfe;
    if (DAT_182673700 == 0) {
      local_60 = FUN_1811316e0(0x130);
      DAT_182673700 = FUN_18133c6c0(local_60);
    }
    FUN_180488600(DAT_182673700 + 0x58,param_1);
    FUN_181343670(param_1);
    uVar11 = uVar15;
    if (puVar6 != (undefined8 *)0x0) {
      uVar11 = puVar6[2];
    }
    if (uVar11 == 0) {
      (**(code **)*plVar9)(plVar9,1);
      goto LAB_18134c6f7;
    }
    FUN_18134bfe0(param_1,uVar4 & 0xffffffff,uVar4 >> 0x20,(int)param_1[5],
                  *(undefined4 *)((longlong)param_1 + 0x2c));
    (**(code **)*plVar9)(plVar9,1);
  }
  lVar5 = param_1[3];
  if (lVar5 != 0) {
    plVar9 = *(longlong **)(lVar5 + 0x40);
    for (plVar13 = plVar9; plVar13 != plVar9 + *(int *)(lVar5 + 0x4c); plVar13 = plVar13 + 1) {
      if (param_1 == (longlong *)*plVar13) {
        uVar12 = (undefined4)((longlong)plVar13 - (longlong)plVar9 >> 3);
        goto LAB_18134c588;
      }
    }
    uVar12 = 0xffffffff;
LAB_18134c588:
    FUN_181343a90(lVar5,uVar12,1);
  }
  if (puVar6 != (undefined8 *)0x0) {
    uVar15 = puVar6[2];
  }
  if (uVar15 != 0) {
    *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 1;
    plVar9 = (longlong *)(**(code **)(*param_1 + 0x150))(param_1,param_2,param_3);
    if (DAT_182673700 == 0) {
      local_60 = FUN_1811316e0(0x130);
      DAT_182673700 = FUN_18133c6c0(local_60);
    }
    lVar5 = DAT_182673700;
    plVar13 = (longlong *)(DAT_182673700 + 0x58);
    puVar14 = (undefined8 *)*plVar13;
    iVar3 = *(int *)(DAT_182673700 + 100);
    puVar2 = puVar14 + iVar3;
    for (; puVar14 != puVar2; puVar14 = puVar14 + 1) {
      if (param_1 == (longlong *)*puVar14) goto LAB_18134c651;
    }
    if (*(int *)(DAT_182673700 + 0x60) < iVar3 + 1) {
      FUN_18047cb30(plVar13,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8);
    }
    iVar3 = *(int *)(lVar5 + 100);
    *(int *)(lVar5 + 100) = iVar3 + 1;
    *(longlong **)(*plVar13 + (longlong)iVar3 * 8) = param_1;
LAB_18134c651:
    param_1[4] = uVar4;
    FUN_18134b470(plVar9);
    if (-1 < iVar8) {
      (**(code **)(*plVar9 + 0x108))(plVar9,iVar8);
    }
    (**(code **)(*plVar9 + 0x10))(plVar9,*(byte *)(param_1 + 0x15) >> 1 & 1);
    plVar9 = (longlong *)FUN_1812d2bd0(param_1);
    if (plVar9 != (longlong *)0x0) {
      if (cVar7 != '\0') {
        (**(code **)(*plVar9 + 0x70))(plVar9,1);
        *(undefined4 *)((longlong)plVar9 + 0x14) = uVar16;
        *(undefined4 *)(plVar9 + 3) = uVar17;
        *(undefined4 *)((longlong)plVar9 + 0x1c) = uVar18;
        *(undefined4 *)(plVar9 + 4) = uVar19;
      }
      if (local_res20 != '\0') {
        (**(code **)(*plVar9 + 0x60))(plVar9,1);
      }
      if ((*(byte *)((longlong)param_1 + 0xa9) & 1) != 0) {
        (**(code **)(*plVar9 + 0xa8))(plVar9,1);
      }
      plVar9[5] = local_80;
      FUN_18134bdf0(param_1);
      FUN_181343670(param_1);
    }
  }
LAB_18134c6f7:
  if (puVar6 != (undefined8 *)0x0) {
    LOCK();
    piVar1 = (int *)(puVar6 + 1);
    iVar8 = *piVar1;
    *piVar1 = *piVar1 + -1;
    UNLOCK();
    if (iVar8 == 1) {
      (**(code **)*local_88)(local_88,1);
    }
  }
  return;
}


   --- [23] 0x18134c270 size=69 ---

undefined4 .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(void)

{
  undefined8 uVar1;
  
  if (DAT_182673700 == 0) {
    uVar1 = FUN_1811316e0(0x130);
    DAT_182673700 = FUN_18133c6c0(uVar1);
  }
  return *(undefined4 *)(DAT_182673700 + 0xc0);
}


   --- [26] 0x18134be30 size=195 ---

uint .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined4 param_2,undefined4 param_3)

{
  longlong *plVar1;
  ulonglong uVar2;
  char cVar3;
  uint uVar4;
  ulonglong *puVar5;
  longlong lVar6;
  undefined1 local_res20 [8];
  
  uVar4 = 0;
  if ((*(byte *)(param_1 + 0xa8) & 8) == 0) {
    return 1;
  }
  if ((*(byte *)(param_1 + 0xa8) & 0x10) != 0) {
    uVar4 = *(int *)(param_1 + 0x4c) - 1;
    lVar6 = (longlong)(int)uVar4;
    if (-1 < (int)uVar4) {
      do {
        plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x40) + lVar6 * 8);
        if ((*(byte *)(plVar1 + 0x15) & 2) != 0) {
          puVar5 = (ulonglong *)FUN_18051e060(local_res20,plVar1,CONCAT44(param_3,param_2));
          uVar2 = *puVar5;
          if ((((uint)uVar2 < *(uint *)(plVar1 + 5)) &&
              ((uint)(uVar2 >> 0x20) < *(uint *)((longlong)plVar1 + 0x2c))) &&
             (cVar3 = (**(code **)(*plVar1 + 0x98))(plVar1,uVar2 & 0xffffffff,uVar2 >> 0x20),
             cVar3 != '\0')) {
            uVar4 = 1;
          }
          else {
            uVar4 = 0;
          }
          if ((char)uVar4 != '\0') {
            return 1;
          }
        }
        lVar6 = lVar6 + -1;
      } while (-1 < lVar6);
    }
  }
  return uVar4 & 0xffffff00;
}


   --- [28] 0x18134bcf0 size=66 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1)

{
  undefined8 *puVar1;
  
  if (((*(byte *)(param_1 + 0xa8) & 0x40) == 0) &&
     (*(longlong **)(param_1 + 0x18) != (longlong *)0x0)) {
                    /* WARNING: Could not recover jumptable at 0x00018134bd0d. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(**(longlong **)(param_1 + 0x18) + 0xa8))();
    return;
  }
  puVar1 = (undefined8 *)FUN_1811316e0(8);
  *puVar1 = juce::KeyboardFocusTraverser::vftable;
  return;
}


   --- [30] 0x18134bc50 size=126 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1)

{
  longlong *plVar1;
  undefined8 local_18;
  undefined4 uStack_10;
  undefined4 uStack_c;
  
  if ((*(byte *)(param_1 + 0xa8) & 1) == 0) {
    uStack_10 = *(undefined4 *)(param_1 + 0x28);
    uStack_c = *(undefined4 *)(param_1 + 0x2c);
    local_18 = 0;
    FUN_181342870(0,&local_18,1);
  }
  else {
    plVar1 = (longlong *)FUN_1812d2bd0();
    if (plVar1 != (longlong *)0x0) {
                    /* WARNING: Could not recover jumptable at 0x00018134bc94. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (**(code **)(*plVar1 + 0xf0))
                (plVar1,(float)(int)(0xff - (uint)*(byte *)(param_1 + 0xac)) / DAT_1824c4548);
      return;
    }
  }
  return;
}


   --- [40] 0x18160c410 size=1445 ---

/* WARNING: Instruction at (ram,0x00018160ca3a) overlaps instruction at (ram,0x00018160ca38)
    */
/* WARNING: Possible PIC construction at 0x00018160cb22: Changing call to branch */
/* WARNING: Removing unreachable block (ram,0x00018160cb27) */
/* WARNING: Removing unreachable block (ram,0x00018160ca34) */
/* WARNING: Removing unreachable block (ram,0x00018160c8cc) */
/* WARNING: Removing unreachable block (ram,0x00018160ca14) */
/* WARNING: Removing unreachable block (ram,0x00018160c9c7) */

undefined8 .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___(longlong param_1)

{
  longlong *plVar1;
  longlong lVar2;
  undefined4 uVar3;
  ulonglong uVar4;
  undefined8 uVar5;
  uint uVar6;
  ulonglong uVar7;
  code **ppcVar8;
  longlong *plVar9;
  int iVar10;
  longlong lVar11;
  longlong *plVar12;
  undefined8 *puVar13;
  undefined8 *puVar14;
  undefined8 *puVar15;
  undefined1 *puVar16;
  undefined4 *puVar17;
  undefined4 *puVar18;
  longlong lVar19;
  undefined4 *puVar20;
  longlong *plVar21;
  undefined *puVar22;
  longlong lVar23;
  undefined4 *puVar24;
  undefined **ppuVar25;
  uint uVar26;
  int unaff_retaddr;
  undefined8 auStack_1a8 [2];
  undefined1 auStack_198 [24];
  uint auStack_180 [6];
  undefined8 local_168;
  undefined **local_160;
  uint local_158;
  longlong alStack_148 [2];
  undefined8 local_138;
  uint local_130;
  uint local_128;
  undefined4 local_124;
  code *local_120;
  undefined **local_118;
  longlong local_110;
  undefined4 local_108;
  undefined4 uStack_104;
  undefined4 uStack_100;
  undefined4 uStack_fc;
  undefined4 local_c8;
  undefined4 uStack_c4;
  undefined4 uStack_c0;
  undefined4 uStack_bc;
  undefined4 uStack_b8;
  undefined4 uStack_b4;
  undefined4 uStack_b0;
  undefined4 uStack_ac;
  undefined4 uStack_a8;
  undefined4 uStack_a4;
  undefined4 uStack_a0;
  undefined4 uStack_9c;
  undefined4 local_68 [14];
  ulonglong local_30;
  
  puVar15 = (undefined8 *)auStack_198;
  local_30 = DAT_182615970 ^ (ulonglong)auStack_198;
  uVar6 = (uint)&stack0x00000000 & 0x23f;
  lVar23 = 0x1210;
  local_124 = 0x8e0;
  iVar10 = (uVar6 + 2) * (uVar6 + 1) * uVar6;
  uVar6 = ((iVar10 >> 1) - (iVar10 >> 3)) + iVar10 * 0x55555555 >> 0x1e;
  uVar4 = (ulonglong)uVar6;
  local_128 = -uVar6 ^ 0x740;
  local_110 = param_1;
  FUN_18134c250(param_1,&local_108);
  alStack_148[1] = 0x6f01000;
  local_138 = 0x1bab6a8;
  local_168 = 0x10;
  local_160 = &PTR__guard_check_icall_181bab6a8;
  local_118 = (undefined **)&DAT_181bab6b8;
  plVar12 = (longlong *)&DAT_186f01000;
  auStack_180[2] = 0;
  local_c8 = local_108;
  uStack_c4 = uStack_104;
  uStack_c0 = uStack_100;
  uStack_bc = uStack_fc;
  FUN_18134c170(*(undefined8 *)(param_1 + 200),&local_c8);
  do {
    uVar7 = 0xee14;
    func_0x00018160aa28();
    if ((uVar7 & 0x43) != 0) goto LAB_18160c66b;
    uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar6 < 0) {
      uVar6 = (uVar6 - 1 | 0xfffffffe) + 1;
    }
    uVar7 = uVar4;
  } while (uVar6 != 0);
  do {
    local_130 = 0x4fa5f61e;
LAB_18160c66b:
    uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar6 < 0) {
      uVar6 = (uVar6 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar6 != 0);
  alStack_148[1] = 0xf1e46594c6bad6be;
  uVar26 = ((~local_130 ^ 0x61689430) >> 0x13 | (~local_130 ^ 0x61689430) << 0xd) ^ 0xe6c076f9;
  local_138 = CONCAT44(local_138._4_4_,0xc6bad6be);
  uVar6 = uVar26 >> 7;
  local_168 = CONCAT44(local_168._4_4_,
                       ~((uVar6 << 0x1e | ((uVar26 << 0x19 | uVar6) ^ 0x13f5de1c) >> 2) + 0x84cdc7cb
                        ));
  do {
    uVar5 = rdtsc();
    uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar6 < 0) {
      uVar6 = (uVar6 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar6 != 0);
  uVar6 = ((uint)uVar5 ^ (uint)((ulonglong)uVar5 >> 0x20)) * -0x166a12ab;
  local_158 = (uVar6 >> 0x18 ^ uVar6) * -0x3d4d13ad;
  if (local_158 < 0x5d1745ff) {
    local_120 = (code *)0x0;
    do {
      ppcVar8 = &local_120;
      FUN_18160cb18(ppcVar8,&local_120);
      *ppcVar8 = FUN_1813bba80;
      uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar6 < 0) {
        uVar6 = (uVar6 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar6 != 0);
    uVar4 = (*local_120)(0,0x48eb);
    if (1 < uVar4) {
      FUN_18113eab0();
    }
  }
  ppuVar25 = local_160;
  puVar24 = (undefined4 *)((longlong)local_118 - (longlong)local_160);
  puVar17 = (undefined4 *)0x0;
  puVar16 = auStack_198;
  if (local_118 == local_160) {
code_r0x00018160ca00:
    do {
      uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar6 < 0) {
        uVar6 = (uVar6 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar6 != 0);
    uVar5 = *(undefined8 *)(param_1 + 0xc0);
    uStack_b8 = local_108;
    uStack_b4 = uStack_104;
    uStack_b0 = uStack_100;
    uStack_ac = uStack_fc;
    *(undefined **)(puVar16 + -8) = &UNK_18160ca7f;
    FUN_18134c170(uVar5,&uStack_b8,uVar7);
    puVar17 = &uStack_a8;
    uStack_a8 = local_108;
    uStack_a4 = uStack_104;
    uStack_a0 = uStack_100;
    uStack_9c = uStack_fc;
    uVar5 = *(undefined8 *)(local_110 + 0xd0);
    *(undefined **)(puVar16 + -8) = &UNK_18160ca9f;
    FUN_18134c170(uVar5,puVar17);
    do {
      *(undefined **)(puVar16 + -8) = &UNK_18160caaa;
      func_0x00018160d859(0xee14);
      puVar22 = (undefined *)((longlong)ppuVar25 + lVar23);
      ppuVar25 = (undefined **)((lVar23 - (longlong)puVar22 ^ 0xffffffffffffffffU) + 1);
      lVar23 = (longlong)puVar22 - (longlong)ppuVar25;
      uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar6 < 0) {
        uVar6 = (uVar6 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar6 != 0);
    *(undefined4 *)(puVar16 + 0x48) = *(undefined4 *)(puVar16 + 0x20);
    *(undefined **)(puVar16 + -8) = &UNK_18160cb0c;
    uVar3 = func_0x00018160b4ce();
    *(longlong *)(puVar16 + -8) = lVar23;
    *(longlong *)(puVar16 + -0x10) = param_1;
    *(undefined **)(puVar16 + -0x18) = &UNK_18160cb27;
    lVar23 = *(longlong *)(puVar16 + -0x18);
    *(longlong *)(puVar16 + -0x18) = lVar23 + 0x166;
    *(longlong *)(puVar16 + -0x20) = lVar23 + 0x3f85dd;
    *(longlong *)(puVar16 + -0x28) = lVar23 + -0x1667b;
    *(longlong *)(puVar16 + -0x30) = lVar23 + 0x3fe56b;
    *(longlong *)(puVar16 + -0x38) = lVar23 + 0x3f85fa;
    *(longlong *)(puVar16 + -0x40) = lVar23 + -0x177e0;
    *(longlong *)(puVar16 + -0x48) = lVar23 + -0x454f5;
    *(longlong *)(puVar16 + -0x50) = lVar23 + -0x7c9eb;
    *(longlong *)(puVar16 + -0x58) = lVar23 + 0x3fe56b;
                    /* WARNING: Could not recover jumptable at 0x00018160cc6b. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar5 = (*(code *)(lVar23 + 0x3f85fa))(uVar3,puVar17);
    return uVar5;
  }
LAB_18160c7f0:
  puVar18 = (undefined4 *)((longlong)puVar17 + (longlong)ppuVar25);
  if ((plVar12 != (longlong *)0x0) && (lVar11 = *plVar12, -1 < lVar11)) {
    *(undefined8 *)((longlong)puVar15 + 0x58) = 0x2621fc0;
    lVar19 = (longlong)&DAT_182621fc0 + -*(longlong *)((longlong)puVar15 + 0x58);
    do {
      if (puVar18 < (undefined4 *)(-*(longlong *)((longlong)puVar15 + 0x58) + 0x182621fc8 + lVar11))
      {
        if (-1 < lVar11) {
          plVar9 = (longlong *)(lVar19 + lVar11);
          plVar1 = (longlong *)(puVar18 + 1);
          if (plVar9 < plVar1) {
            local_68[0] = *puVar18;
            lVar23 = lVar19 - (longlong)puVar18;
            plVar21 = plVar12;
            goto LAB_18160c870;
          }
        }
        break;
      }
      lVar11 = plVar12[1];
      plVar12 = plVar12 + 1;
    } while (-1 < lVar11);
  }
  goto LAB_18160c8a0;
  while (plVar9 = (longlong *)(lVar19 + lVar11), plVar9 < plVar1) {
LAB_18160c870:
    lVar2 = lVar23 + lVar11;
    lVar11 = plVar21[1];
    plVar21 = plVar21 + 1;
    *(longlong *)((longlong)local_68 + lVar2) = *plVar9 - lVar19;
    puVar18 = local_68;
    if (lVar11 < 0) break;
  }
LAB_18160c8a0:
  do {
    puVar20 = (undefined4 *)((longlong)puVar15 + 0x20);
    uVar4 = 0xee14;
    *(undefined4 **)((longlong)puVar15 + -8) = puVar17;
    puVar15 = (undefined8 *)((longlong)puVar15 + -8);
    puVar17 = puVar18;
    while ((uVar4 & 0xc300) != 0) {
      while (puVar13 = puVar15, (uVar4 & 0xc300) != 0) {
        while( true ) {
          puVar13[-1] = 0x18160c901;
          uVar3 = FUN_18160cb59();
          *puVar20 = uVar3;
          puVar17 = (undefined4 *)*puVar13;
          puVar15 = puVar13 + 1;
          puVar14 = puVar13 + 1;
          if ((uVar4 & 0xc3) != 0) break;
          puVar13 = puVar13 + 1;
          puVar15 = puVar14;
          if ((uVar4 & 0xc3) == 0) goto LAB_18160c93e;
        }
      }
    }
LAB_18160c93e:
    uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar6 < 0) {
      uVar6 = (uVar6 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar6 != 0);
  uVar26 = (uint)puVar17 & 0x4aff;
  uVar7 = (ulonglong)uVar26;
  uVar6 = *(int *)((longlong)puVar15 + 0x20) * 0x401 ^
          (uint)(*(int *)((longlong)puVar15 + 0x20) * 0x401) >> 6;
  *(uint *)((longlong)puVar15 + 0x20) = uVar6;
  uVar6 = uVar6 & 0x17f;
  iVar10 = (uVar6 + 2) * (uVar6 + 1) * uVar6;
  puVar17 = (undefined4 *)
            ((longlong)puVar17 +
            (0xa4 - ((longlong)
                     ((longlong)(((iVar10 >> 1) - (iVar10 >> 3)) + iVar10 * 0x55555555) ^
                     0x2800000000U) >> 0x1e ^ (longlong)(int)((uVar26 + 1) * uVar26 & 0x80000001))))
  ;
  param_1 = local_110;
  puVar16 = (undefined1 *)puVar15;
  if (puVar24 == puVar17) goto code_r0x00018160ca00;
  goto LAB_18160c7f0;
}


   --- [47] 0x18134b940 size=196 ---

void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___
               (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 *puVar1;
  longlong *plVar2;
  undefined8 uVar3;
  
  uVar3 = 0xfffffffffffffffe;
  if (DAT_182673c20 == (undefined8 *)0x0) {
    puVar1 = (undefined8 *)FUN_1811316e0(0x28);
    FUN_1812a59f0(puVar1);
    FUN_1812a7230(puVar1 + 2);
    *puVar1 = juce::ModalComponentManager::vftable;
    puVar1[2] = juce::ModalComponentManager::vftable;
    puVar1[3] = 0;
    puVar1[4] = 0;
    DAT_182673c20 = puVar1;
  }
  FUN_18133b010(DAT_182673c20,1,param_3,param_4,uVar3);
  plVar2 = (longlong *)FUN_18134adf0(param_1);
  if (*(code **)(*plVar2 + 0x78) == FUN_1812c6070) {
                    /* WARNING: Could not recover jumptable at 0x00018134b9e5. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    MessageBeep(0);
    return;
  }
  (**(code **)(*plVar2 + 0x78))(plVar2);
  return;
}


   --- [49] 0x18134b870 size=87 ---

void .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__
               (undefined8 param_1,undefined4 param_2,undefined8 param_3)

{
  undefined8 uVar1;
  
  uVar1 = FUN_1811316e0(0x158);
  FUN_18050dd00(uVar1,param_1,param_2,param_3,0);
  return;
}


   --- [53] 0x18058e380 size=124 ---

longlong FUN_18058e380(longlong param_1,uint *param_2)

{
  uint uVar1;
  longlong lVar2;
  longlong lVar3;
  undefined8 uVar4;
  
  uVar1 = *param_2;
  lVar2 = *(longlong *)(param_1 + 8);
  lVar3 = (longlong)(int)uVar1 * 0x800;
  if (uVar1 < *(uint *)(lVar2 + 0x84)) {
    uVar4 = *(undefined8 *)(*(longlong *)(lVar2 + 0x78) + (longlong)(int)uVar1 * 8);
  }
  else {
    uVar4 = 0;
  }
  FUN_180536300(lVar2 + 0x18,*(longlong *)(param_1 + 0x10) + 0x8e0 + lVar3,
                *(longlong *)(param_1 + 0x10) + 0xe0,uVar4,0x200);
  return *(longlong *)(param_1 + 0x10) + 0x8e0 + lVar3;
}


   --- [60] 0x18058b220 size=318 ---

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

void FUN_18058b220(longlong param_1,int param_2)

{
  uint *puVar1;
  uint uVar2;
  undefined4 uVar3;
  longlong lVar4;
  int iVar5;
  undefined1 auStack_c8 [32];
  undefined4 local_a8;
  float local_98;
  longlong local_90;
  longlong local_88 [5];
  undefined1 local_59 [32];
  undefined1 local_39;
  ulonglong local_38 [4];
  
  local_88[1] = 0xfffffffffffffffe;
  local_38[0] = DAT_182615970 ^ (ulonglong)auStack_c8;
  local_98 = *(float *)(*(longlong *)(param_1 + 0x9b28) + 0x188);
  iVar5 = (int)local_98;
  if (param_2 != iVar5) {
    lVar4 = FUN_181233e10(local_59 + 1);
    FUN_180495150(&local_90,lVar4,local_59 + -lVar4);
    uVar3 = DAT_1824c4680;
    local_a8 = DAT_1824c4680;
    FUN_181411be0(*(undefined8 *)(param_1 + 0x97b0),local_90,DAT_1824c3ea4,DAT_1824c4680);
    puVar1 = (uint *)(local_90 + -0x10);
    if ((*puVar1 & 0x30000000) == 0) {
      LOCK();
      uVar2 = *puVar1;
      *puVar1 = *puVar1 - 1;
      UNLOCK();
      if (uVar2 == 0) {
                    /* WARNING: Subroutine does not return */
        free(puVar1);
      }
    }
    lVar4 = FUN_181233e10(local_38,iVar5);
    FUN_180495150(local_88,lVar4,&local_39 + -lVar4);
    local_a8 = uVar3;
    FUN_181411be0(*(undefined8 *)(param_1 + 0x97b0),local_88[0],DAT_1824c3d8c,uVar3);
    puVar1 = (uint *)(local_88[0] + -0x10);
    if ((*puVar1 & 0x30000000) == 0) {
      LOCK();
      uVar2 = *puVar1;
      *puVar1 = *puVar1 - 1;
      UNLOCK();
      if (uVar2 == 0) {
                    /* WARNING: Subroutine does not return */
        free(puVar1);
      }
    }
  }
}


   --- [61] 0x18058b0c0 size=313 ---

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

void FUN_18058b0c0(longlong param_1,int param_2)

{
  uint *puVar1;
  uint uVar2;
  undefined4 uVar3;
  longlong lVar4;
  int iVar5;
  undefined1 auStack_c8 [32];
  undefined4 local_a8;
  float local_98;
  longlong local_90;
  longlong local_88 [5];
  undefined1 local_59 [32];
  undefined1 local_39;
  ulonglong local_38 [4];
  
  local_88[1] = 0xfffffffffffffffe;
  local_38[0] = DAT_182615970 ^ (ulonglong)auStack_c8;
  local_98 = *(float *)(*(longlong *)(param_1 + 0x9b28) + 0x188);
  iVar5 = (int)local_98;
  if (param_2 != iVar5) {
    lVar4 = FUN_181233e10(local_59 + 1);
    FUN_180495150(&local_90,lVar4,local_59 + -lVar4);
    uVar3 = DAT_1824c4680;
    local_a8 = DAT_1824c4680;
    FUN_181411be0(*(undefined8 *)(param_1 + 0x97b0),local_90,0,DAT_1824c4680);
    puVar1 = (uint *)(local_90 + -0x10);
    if ((*puVar1 & 0x30000000) == 0) {
      LOCK();
      uVar2 = *puVar1;
      *puVar1 = *puVar1 - 1;
      UNLOCK();
      if (uVar2 == 0) {
                    /* WARNING: Subroutine does not return */
        free(puVar1);
      }
    }
    lVar4 = FUN_181233e10(local_38,iVar5);
    FUN_180495150(local_88,lVar4,&local_39 + -lVar4);
    local_a8 = uVar3;
    FUN_181411be0(*(undefined8 *)(param_1 + 0x97b0),local_88[0],DAT_1824c3ea4,uVar3);
    puVar1 = (uint *)(local_88[0] + -0x10);
    if ((*puVar1 & 0x30000000) == 0) {
      LOCK();
      uVar2 = *puVar1;
      *puVar1 = *puVar1 - 1;
      UNLOCK();
      if (uVar2 == 0) {
                    /* WARNING: Subroutine does not return */
        free(puVar1);
      }
    }
  }
}


############ VTABLE FilterGraphGrid 0x1824be0a8
SLOTLIST:
   [0] 0x18058c4b0 size=116
   [1] 0x18134bc00 size=3
   [2] 0x18134bbf0 size=3
   [3] 0x18134bbe0 size=3
   [4] 0x18134bbd0 size=3
   [5] 0x18134bbc0 size=3
   [6] 0x18134bbb0 size=3
   [7] 0x18134bba0 size=3
   [8] 0x18134bb30 size=93
   [9] 0x18134bad0 size=82
   [10] 0x18134c900 size=397
   [11] 0x18134c760 size=397
   [12] 0x18134c750 size=3
   [13] 0x18134c3a0 size=933
   [14] 0x18134c2d0 size=3
   [15] 0x18134c2c0 size=3
   [16] 0x18134c270 size=69
   [17] 0x1805689c0 size=60
   [18] 0x18134bf00 size=3
   [19] 0x18134be30 size=195
   [20] 0x18134bde0 size=3
   [21] 0x18134bcf0 size=66
   [22] 0x18134bce0 size=3
   [23] 0x18134bc50 size=126
   [24] 0x18134bc20 size=34
   [25] 0x18134ade0 size=3
   [26] 0x18134bc10 size=3
   [27] 0x18134bac0 size=3
   [28] 0x18134bab0 size=3
   [29] 0x18134ba90 size=20
   [30] 0x18134ba80 size=3
   [31] 0x18134ba70 size=3
   [32] 0x18134ba60 size=3
   [33] 0x1805895c0 size=2420
   [34] 0x18134ba50 size=3
   [35] 0x18134adc0 size=3
   [36] 0x18134ba40 size=3
   [37] 0x18134ba30 size=3
   [38] 0x18134ba20 size=3
   [39] 0x18134ba10 size=3
   [40] 0x18134b940 size=196
   [41] 0x18134b930 size=3
   [42] 0x18134b870 size=87
   [43] 0x180589f40 size=99
   [44] 0x18251a470 size=0
   [45] 0x18058eaf8 size=12
   [46] 0x180568990 size=48
   [47] 0x18251ad88 size=0
   [48] 0x18058eb1c size=12
   [49] 0x18058b010 size=176
   [50] 0x18251ab48 size=0
   [51] 0x18058eab0 size=12
   [52] 0x18160b000 size=4718
   [53] 0x1804714b0 size=3
   [54] 0x18251a6c8 size=0
   [55] 0x1805893c0 size=52
   [56] 0x18134bc00 size=3
   [57] 0x18134bbf0 size=3
   [58] 0x18134bbe0 size=3
   [59] 0x18134bbd0 size=3
   [60] 0x18134bbc0 size=3
   [61] 0x18134bbb0 size=3
   [62] 0x18134bba0 size=3
   [63] 0x18134bb30 size=93
CCODE:
   --- [0] 0x18058c4b0 size=116 ---

void .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__(undefined8 *param_1)

{
  undefined8 *puVar1;
  
  *param_1 = FilterGraphGrid<float>::vftable;
  param_1[0x16] = FilterGraphGrid<float>::vftable;
  FUN_180484cd0(param_1 + 0x25);
  puVar1 = (undefined8 *)param_1[0x24];
  if (puVar1 != (undefined8 *)0x0) {
    (**(code **)*puVar1)(puVar1,1);
  }
  FUN_18047cbc0(param_1 + 0x22);
  *(undefined4 *)((longlong)param_1 + 0x11c) = 0;
                    /* WARNING: Subroutine does not return */
  free((void *)param_1[0x22]);
}


   --- [8] 0x18134bb30 size=93 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined8 param_2,undefined8 param_3)

{
  longlong lVar1;
  undefined8 uVar2;
  undefined1 local_68 [96];
  
  if (*(longlong **)(param_1 + 0x18) != (longlong *)0x0) {
    lVar1 = **(longlong **)(param_1 + 0x18);
    uVar2 = FUN_181339840(param_2,local_68);
    (**(code **)(lVar1 + 0x40))(*(undefined8 *)(param_1 + 0x18),uVar2,param_3);
  }
  return;
}


   --- [9] 0x18134bad0 size=82 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined8 param_2,undefined4 param_3)

{
  undefined8 uVar1;
  undefined1 local_78 [112];
  
  if (*(longlong *)(param_1 + 0x18) != 0) {
    uVar1 = FUN_181339840(param_2,local_78);
    (**(code **)(**(longlong **)(param_1 + 0x18) + 0x48))
              (*(longlong **)(param_1 + 0x18),uVar1,param_3);
  }
  return;
}


   --- [10] 0x18134c900 size=397 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)

{
  int *piVar1;
  uint uVar2;
  code *pcVar3;
  longlong *plVar4;
  undefined8 *puVar5;
  longlong lVar6;
  uint *_Memory;
  int iVar7;
  bool bVar8;
  undefined8 *local_res8;
  undefined1 local_res10 [16];
  
  lVar6 = *param_2;
  if (*(longlong *)(param_1 + 8) == lVar6) {
    iVar7 = 0;
  }
  else {
    iVar7 = FUN_18048cbc0(*(undefined8 *)(param_1 + 8),lVar6,param_3,param_4,0xfffffffffffffffe);
  }
  if (iVar7 != 0) {
    if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) {
      LOCK();
      *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1;
      UNLOCK();
    }
    LOCK();
    lVar6 = *(longlong *)(param_1 + 8);
    *(longlong *)(param_1 + 8) = *param_2;
    UNLOCK();
    _Memory = (uint *)(lVar6 + -0x10);
    if ((*_Memory & 0x30000000) == 0) {
      LOCK();
      uVar2 = *_Memory;
      *_Memory = *_Memory - 1;
      UNLOCK();
      if (uVar2 == 0) {
                    /* WARNING: Subroutine does not return */
        free(_Memory);
      }
    }
    if (((*(byte *)(param_1 + 0xa8) & 1) != 0) &&
       (plVar4 = (longlong *)FUN_1812d2bd0(param_1), plVar4 != (longlong *)0x0)) {
      if ((undefined **)*plVar4 == juce::HWNDComponentPeer::vftable) {
        puVar5 = (undefined8 *)FUN_18049a930(local_res10);
        SetWindowTextW((HWND)plVar4[0x11],(LPCWSTR)*puVar5);
      }
      else {
        (*(code *)((undefined **)*plVar4)[3])(plVar4,param_2);
      }
    }
    FUN_1804de690(&local_res8,param_1);
    puVar5 = local_res8;
    iVar7 = *(int *)(param_1 + 0x8c);
    bVar8 = local_res8 == (undefined8 *)0x0;
    while( true ) {
      if (bVar8) {
        lVar6 = 0;
      }
      else {
        lVar6 = puVar5[2];
      }
      if ((lVar6 == 0) || (iVar7 < 1)) break;
      iVar7 = iVar7 + -1;
      if ((*(int *)(param_1 + 0x8c) <= iVar7) && (iVar7 = *(int *)(param_1 + 0x8c) + -1, iVar7 < 0))
      break;
      plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x80) + (longlong)iVar7 * 8);
      pcVar3 = *(code **)(*plVar4 + 0x30);
      if (pcVar3 != .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__) {
        (*pcVar3)(plVar4,param_1);
      }
    }
    if (puVar5 != (undefined8 *)0x0) {
      LOCK();
      piVar1 = (int *)(puVar5 + 1);
      iVar7 = *piVar1;
      *piVar1 = *piVar1 + -1;
      UNLOCK();
      if (iVar7 == 1) {
        (**(code **)*local_res8)(local_res8,1);
      }
    }
  }
  return;
}


   --- [11] 0x18134c760 size=397 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,byte param_2,undefined8 param_3,undefined8 param_4)

{
  int *piVar1;
  int iVar2;
  undefined8 *puVar3;
  longlong lVar4;
  longlong *plVar5;
  longlong lVar6;
  bool bVar7;
  undefined8 *local_res8;
  undefined4 local_28;
  undefined4 uStack_24;
  undefined4 uStack_20;
  undefined4 uStack_1c;
  
  if ((*(byte *)(param_1 + 0xa8) >> 1 & 1) != param_2) {
    FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe);
    *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) & 0xfd;
    *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) | (param_2 & 1) * '\x02';
    lVar6 = 0;
    if (param_2 == 0) {
      FUN_181342b10(param_1);
    }
    else {
      uStack_1c = *(undefined4 *)(param_1 + 0x2c);
      uStack_20 = *(undefined4 *)(param_1 + 0x28);
      local_28 = 0;
      uStack_24 = 0;
      FUN_181342870(param_1,&local_28,1);
    }
    FUN_18133f790();
    if (param_2 == 0) {
      FUN_1804e5060(param_1);
      for (lVar4 = DAT_182673708; lVar4 != param_1; lVar4 = *(longlong *)(lVar4 + 0x18)) {
        if (lVar4 == 0) goto LAB_18134c84f;
      }
      if (*(longlong *)(param_1 + 0x18) == 0) {
        FUN_18133eae0(1);
      }
      else {
        FUN_18133ed60(*(longlong *)(param_1 + 0x18),2,1);
      }
    }
LAB_18134c84f:
    puVar3 = local_res8;
    bVar7 = local_res8 != (undefined8 *)0x0;
    lVar4 = lVar6;
    if (bVar7) {
      lVar4 = local_res8[2];
    }
    if (lVar4 != 0) {
      FUN_1813452b0(param_1);
      if (bVar7) {
        lVar6 = puVar3[2];
      }
      if (((lVar6 != 0) && ((*(byte *)(param_1 + 0xa8) & 1) != 0)) &&
         (plVar5 = (longlong *)FUN_18134c2e0(param_1), plVar5 != (longlong *)0x0)) {
        (**(code **)(*plVar5 + 0x10))(plVar5,param_2);
        FUN_181343670(param_1);
      }
    }
    if (puVar3 != (undefined8 *)0x0) {
      LOCK();
      piVar1 = (int *)(puVar3 + 1);
      iVar2 = *piVar1;
      *piVar1 = *piVar1 + -1;
      UNLOCK();
      if (iVar2 == 1) {
        (**(code **)*local_res8)(local_res8,1);
      }
    }
  }
  return;
}


   --- [13] 0x18134c3a0 size=933 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong *param_1,uint param_2,undefined8 param_3)

{
  int *piVar1;
  undefined8 *puVar2;
  int iVar3;
  ulonglong uVar4;
  longlong lVar5;
  undefined8 *puVar6;
  char cVar7;
  int iVar8;
  longlong *plVar9;
  ulonglong *puVar10;
  ulonglong uVar11;
  undefined4 uVar12;
  longlong *plVar13;
  undefined8 *puVar14;
  ulonglong uVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  undefined4 uVar18;
  undefined4 uVar19;
  char local_res20;
  undefined8 *local_88;
  longlong local_80;
  undefined8 local_78;
  undefined1 local_70 [8];
  longlong *local_68;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 uStack_50;
  
  local_78 = 0xfffffffffffffffe;
  if ((*(byte *)(param_1 + 0x15) >> 2 & 1) == 0) {
    param_2 = param_2 | 0x40000000;
  }
  else {
    param_2 = param_2 & 0xbfffffff;
  }
  plVar9 = (longlong *)FUN_1812d2bd0();
  if ((plVar9 != (longlong *)0x0) && (param_2 == *(uint *)(plVar9 + 2))) {
    return;
  }
  FUN_1804de690(&local_88,param_1);
  uVar15 = 0;
  uVar4 = uVar15;
  puVar6 = local_88;
  for (plVar13 = param_1; local_88 = puVar6, plVar13 != (longlong *)0x0;
      plVar13 = (longlong *)plVar13[3]) {
    puVar10 = (ulonglong *)FUN_18051e290(local_70,plVar13,uVar4);
    uVar4 = *puVar10;
    puVar6 = local_88;
  }
  cVar7 = '\0';
  local_res20 = '\0';
  local_80 = 0;
  uVar16 = 0;
  uVar17 = 0;
  uVar18 = 0;
  uVar19 = 0;
  local_58 = 0;
  uStack_50 = 0;
  iVar8 = -1;
  if (plVar9 != (longlong *)0x0) {
    local_68 = plVar9;
    cVar7 = (**(code **)(*plVar9 + 0x78))(plVar9);
    local_res20 = (**(code **)(*plVar9 + 0x68))(plVar9);
    local_80 = plVar9[5];
    uVar16 = *(undefined4 *)((longlong)plVar9 + 0x14);
    uVar17 = (undefined4)plVar9[3];
    local_58 = *(undefined8 *)((longlong)plVar9 + 0x14);
    uVar18 = *(undefined4 *)((longlong)plVar9 + 0x1c);
    uVar19 = (undefined4)plVar9[4];
    uStack_50 = *(undefined8 *)((longlong)plVar9 + 0x1c);
    iVar8 = (**(code **)(*plVar9 + 0x100))(plVar9);
    *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xfe;
    if (DAT_182673700 == 0) {
      local_60 = FUN_1811316e0(0x130);
      DAT_182673700 = FUN_18133c6c0(local_60);
    }
    FUN_180488600(DAT_182673700 + 0x58,param_1);
    FUN_181343670(param_1);
    uVar11 = uVar15;
    if (puVar6 != (undefined8 *)0x0) {
      uVar11 = puVar6[2];
    }
    if (uVar11 == 0) {
      (**(code **)*plVar9)(plVar9,1);
      goto LAB_18134c6f7;
    }
    FUN_18134bfe0(param_1,uVar4 & 0xffffffff,uVar4 >> 0x20,(int)param_1[5],
                  *(undefined4 *)((longlong)param_1 + 0x2c));
    (**(code **)*plVar9)(plVar9,1);
  }
  lVar5 = param_1[3];
  if (lVar5 != 0) {
    plVar9 = *(longlong **)(lVar5 + 0x40);
    for (plVar13 = plVar9; plVar13 != plVar9 + *(int *)(lVar5 + 0x4c); plVar13 = plVar13 + 1) {
      if (param_1 == (longlong *)*plVar13) {
        uVar12 = (undefined4)((longlong)plVar13 - (longlong)plVar9 >> 3);
        goto LAB_18134c588;
      }
    }
    uVar12 = 0xffffffff;
LAB_18134c588:
    FUN_181343a90(lVar5,uVar12,1);
  }
  if (puVar6 != (undefined8 *)0x0) {
    uVar15 = puVar6[2];
  }
  if (uVar15 != 0) {
    *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 1;
    plVar9 = (longlong *)(**(code **)(*param_1 + 0x150))(param_1,param_2,param_3);
    if (DAT_182673700 == 0) {
      local_60 = FUN_1811316e0(0x130);
      DAT_182673700 = FUN_18133c6c0(local_60);
    }
    lVar5 = DAT_182673700;
    plVar13 = (longlong *)(DAT_182673700 + 0x58);
    puVar14 = (undefined8 *)*plVar13;
    iVar3 = *(int *)(DAT_182673700 + 100);
    puVar2 = puVar14 + iVar3;
    for (; puVar14 != puVar2; puVar14 = puVar14 + 1) {
      if (param_1 == (longlong *)*puVar14) goto LAB_18134c651;
    }
    if (*(int *)(DAT_182673700 + 0x60) < iVar3 + 1) {
      FUN_18047cb30(plVar13,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8);
    }
    iVar3 = *(int *)(lVar5 + 100);
    *(int *)(lVar5 + 100) = iVar3 + 1;
    *(longlong **)(*plVar13 + (longlong)iVar3 * 8) = param_1;
LAB_18134c651:
    param_1[4] = uVar4;
    FUN_18134b470(plVar9);
    if (-1 < iVar8) {
      (**(code **)(*plVar9 + 0x108))(plVar9,iVar8);
    }
    (**(code **)(*plVar9 + 0x10))(plVar9,*(byte *)(param_1 + 0x15) >> 1 & 1);
    plVar9 = (longlong *)FUN_1812d2bd0(param_1);
    if (plVar9 != (longlong *)0x0) {
      if (cVar7 != '\0') {
        (**(code **)(*plVar9 + 0x70))(plVar9,1);
        *(undefined4 *)((longlong)plVar9 + 0x14) = uVar16;
        *(undefined4 *)(plVar9 + 3) = uVar17;
        *(undefined4 *)((longlong)plVar9 + 0x1c) = uVar18;
        *(undefined4 *)(plVar9 + 4) = uVar19;
      }
      if (local_res20 != '\0') {
        (**(code **)(*plVar9 + 0x60))(plVar9,1);
      }
      if ((*(byte *)((longlong)param_1 + 0xa9) & 1) != 0) {
        (**(code **)(*plVar9 + 0xa8))(plVar9,1);
      }
      plVar9[5] = local_80;
      FUN_18134bdf0(param_1);
      FUN_181343670(param_1);
    }
  }
LAB_18134c6f7:
  if (puVar6 != (undefined8 *)0x0) {
    LOCK();
    piVar1 = (int *)(puVar6 + 1);
    iVar8 = *piVar1;
    *piVar1 = *piVar1 + -1;
    UNLOCK();
    if (iVar8 == 1) {
      (**(code **)*local_88)(local_88,1);
    }
  }
  return;
}


   --- [16] 0x18134c270 size=69 ---

undefined4 .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(void)

{
  undefined8 uVar1;
  
  if (DAT_182673700 == 0) {
    uVar1 = FUN_1811316e0(0x130);
    DAT_182673700 = FUN_18133c6c0(uVar1);
  }
  return *(undefined4 *)(DAT_182673700 + 0xc0);
}


   --- [17] 0x1805689c0 size=60 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong *param_1)

{
  if ((char)param_1[0x18] == '\0') {
    FUN_180569ff0();
    if (param_1[0x17] != 0) {
      (**(code **)(*param_1 + 0x158))(param_1);
      *(undefined1 *)(param_1 + 0x18) = 1;
    }
  }
  return;
}


   --- [19] 0x18134be30 size=195 ---

uint .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined4 param_2,undefined4 param_3)

{
  longlong *plVar1;
  ulonglong uVar2;
  char cVar3;
  uint uVar4;
  ulonglong *puVar5;
  longlong lVar6;
  undefined1 local_res20 [8];
  
  uVar4 = 0;
  if ((*(byte *)(param_1 + 0xa8) & 8) == 0) {
    return 1;
  }
  if ((*(byte *)(param_1 + 0xa8) & 0x10) != 0) {
    uVar4 = *(int *)(param_1 + 0x4c) - 1;
    lVar6 = (longlong)(int)uVar4;
    if (-1 < (int)uVar4) {
      do {
        plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x40) + lVar6 * 8);
        if ((*(byte *)(plVar1 + 0x15) & 2) != 0) {
          puVar5 = (ulonglong *)FUN_18051e060(local_res20,plVar1,CONCAT44(param_3,param_2));
          uVar2 = *puVar5;
          if ((((uint)uVar2 < *(uint *)(plVar1 + 5)) &&
              ((uint)(uVar2 >> 0x20) < *(uint *)((longlong)plVar1 + 0x2c))) &&
             (cVar3 = (**(code **)(*plVar1 + 0x98))(plVar1,uVar2 & 0xffffffff,uVar2 >> 0x20),
             cVar3 != '\0')) {
            uVar4 = 1;
          }
          else {
            uVar4 = 0;
          }
          if ((char)uVar4 != '\0') {
            return 1;
          }
        }
        lVar6 = lVar6 + -1;
      } while (-1 < lVar6);
    }
  }
  return uVar4 & 0xffffff00;
}


   --- [21] 0x18134bcf0 size=66 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1)

{
  undefined8 *puVar1;
  
  if (((*(byte *)(param_1 + 0xa8) & 0x40) == 0) &&
     (*(longlong **)(param_1 + 0x18) != (longlong *)0x0)) {
                    /* WARNING: Could not recover jumptable at 0x00018134bd0d. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(**(longlong **)(param_1 + 0x18) + 0xa8))();
    return;
  }
  puVar1 = (undefined8 *)FUN_1811316e0(8);
  *puVar1 = juce::KeyboardFocusTraverser::vftable;
  return;
}


   --- [23] 0x18134bc50 size=126 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1)

{
  longlong *plVar1;
  undefined8 local_18;
  undefined4 uStack_10;
  undefined4 uStack_c;
  
  if ((*(byte *)(param_1 + 0xa8) & 1) == 0) {
    uStack_10 = *(undefined4 *)(param_1 + 0x28);
    uStack_c = *(undefined4 *)(param_1 + 0x2c);
    local_18 = 0;
    FUN_181342870(0,&local_18,1);
  }
  else {
    plVar1 = (longlong *)FUN_1812d2bd0();
    if (plVar1 != (longlong *)0x0) {
                    /* WARNING: Could not recover jumptable at 0x00018134bc94. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (**(code **)(*plVar1 + 0xf0))
                (plVar1,(float)(int)(0xff - (uint)*(byte *)(param_1 + 0xac)) / DAT_1824c4548);
      return;
    }
  }
  return;
}


   --- [33] 0x1805895c0 size=2420 ---

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__(longlong param_1)

{
  double dVar1;
  double dVar2;
  double dVar3;
  double dVar4;
  double dVar5;
  undefined8 *puVar6;
  undefined8 uVar7;
  ulonglong uVar8;
  uint *_Memory;
  ulonglong uVar9;
  longlong *plVar10;
  longlong *plVar11;
  longlong lVar12;
  longlong lVar13;
  longlong *plVar14;
  char cVar15;
  uint uVar16;
  ulonglong uVar17;
  ulonglong uVar18;
  ulonglong uVar19;
  undefined8 uVar20;
  uint uVar21;
  bool bVar22;
  double dVar23;
  float fVar24;
  float fVar25;
  float fVar26;
  float fVar27;
  float fVar28;
  float fVar29;
  char local_res8;
  undefined7 uStackX_9;
  float local_res10;
  double local_res18;
  double local_res20;
  undefined4 local_180;
  undefined4 local_160;
  undefined1 local_158 [4];
  undefined4 local_154;
  double local_150;
  double local_148;
  double local_140;
  double local_138;
  undefined1 local_130 [4];
  undefined4 local_12c;
  undefined1 local_128 [8];
  undefined1 local_120 [8];
  undefined1 local_118 [8];
  undefined1 local_110 [8];
  undefined4 local_108;
  undefined4 uStack_104;
  undefined4 uStack_100;
  undefined4 uStack_fc;
  undefined4 local_f8;
  undefined4 uStack_f4;
  undefined4 uStack_f0;
  undefined4 uStack_ec;
  
  if (*(longlong *)(param_1 + 0xb8) != 0) {
    plVar14 = (longlong *)(param_1 + 0xb0);
    if (*(code **)(*plVar14 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) {
      if (*(longlong *)(param_1 + 0xb8) == 0) {
        FUN_180569ff0(param_1);
      }
      uVar7 = *(undefined8 *)(param_1 + 0xb8);
    }
    else {
      uVar7 = (**(code **)(*plVar14 + 8))(plVar14);
    }
    puVar6 = (undefined8 *)FUN_18140e230(local_128,*(undefined4 *)(param_1 + 0x211));
    FUN_1813f0dc0(uVar7,DAT_18267423c,*puVar6,param_1);
    if (*(code **)(*plVar14 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) {
      if (*(longlong *)(param_1 + 0xb8) == 0) {
        FUN_180569ff0(param_1);
      }
      uVar7 = *(undefined8 *)(param_1 + 0xb8);
    }
    else {
      uVar7 = (**(code **)(*plVar14 + 8))(plVar14);
    }
    puVar6 = (undefined8 *)FUN_18140e230(local_120,*(undefined4 *)(param_1 + 0x215));
    FUN_1813f0dc0(uVar7,DAT_182674188,*puVar6,param_1);
  }
  uVar18 = 0;
  fVar29 = (float)*(int *)(param_1 + 0x2c);
  fVar26 = (float)*(int *)(param_1 + 0x28);
  fVar28 = fVar26 * DAT_1824c3c98;
  fVar27 = fVar29 * DAT_1824c3c90;
  *(float *)(param_1 + 0x200) = fVar29 * DAT_1824c3c70;
  local_res10 = fVar26;
  FUN_18134bfe0(*(undefined8 *)(param_1 + 0x120),0,0,*(undefined4 *)(param_1 + 0x28),
                *(undefined4 *)(param_1 + 0x2c));
  dVar5 = DAT_1824c4520;
  fVar24 = DAT_1824c3d8c;
  if (*(char *)(param_1 + 0x210) != '\0') {
    if (0 < *(int *)(param_1 + 0xfc)) {
      bVar22 = *(int *)(param_1 + 0xfc) != 0;
      uVar9 = uVar18;
      uVar17 = uVar18;
      uVar19 = uVar18;
      do {
        uVar8 = uVar18;
        if (bVar22) {
          uVar8 = *(ulonglong *)(uVar17 + *(longlong *)(param_1 + 0xf0));
        }
        puVar6 = (undefined8 *)FUN_1812ea010(uVar8,&local_res8);
        cVar15 = *(char *)*puVar6;
        _Memory = (uint *)(CONCAT71(uStackX_9,local_res8) + -0x10);
        if ((*_Memory & 0x30000000) == 0) {
          LOCK();
          uVar16 = *_Memory;
          *_Memory = *_Memory - 1;
          UNLOCK();
          if (uVar16 == 0) {
                    /* WARNING: Subroutine does not return */
            free(_Memory);
          }
        }
        uVar16 = (uint)uVar9;
        if (cVar15 == '\0') {
          if (uVar16 < *(uint *)(param_1 + 0xfc)) {
            plVar14 = *(longlong **)(uVar17 + *(longlong *)(param_1 + 0xf0));
            (**(code **)(*plVar14 + 0x58))(plVar14,0);
          }
          else {
            (**(code **)(_DAT_00000000 + 0x58))(0,0);
          }
        }
        else {
          if (uVar16 < *(uint *)(param_1 + 0xdc)) {
            fVar25 = *(float *)(uVar19 + *(longlong *)(param_1 + 0xd0));
          }
          else {
            fVar25 = 0.0;
          }
          local_res20 = dVar5;
          local_res18 = (double)(fVar25 * fVar26) + dVar5;
          local_180 = SUB84((double)fVar27 + dVar5,0);
          uVar9 = uVar18;
          if (uVar16 < *(uint *)(param_1 + 0xfc)) {
            uVar9 = *(ulonglong *)(uVar17 + *(longlong *)(param_1 + 0xf0));
          }
          FUN_18134bfe0(uVar9,local_res18._0_4_ - (int)(fVar28 * fVar24),
                        (ulonglong)dVar5 & 0xffffffff,
                        (ulonglong)((double)fVar28 + dVar5) & 0xffffffff,local_180);
        }
        uVar16 = uVar16 + 1;
        uVar9 = (ulonglong)uVar16;
        uVar19 = uVar19 + 4;
        uVar17 = uVar17 + 8;
        bVar22 = uVar16 < *(uint *)(param_1 + 0xfc);
      } while ((int)uVar16 < (int)*(uint *)(param_1 + 0xfc));
    }
    dVar4 = DAT_1824c41c8;
    cVar15 = DAT_1824c3ea4 < *(float *)(param_1 + 0x20c);
    if (0 < *(int *)(param_1 + 0xec)) {
      bVar22 = *(int *)(param_1 + 0xec) != 0;
      local_res20 = 0.0;
      uVar9 = uVar18;
      uVar16 = DAT_1824c4f30;
      local_res8 = cVar15;
      do {
        plVar14 = (longlong *)0x0;
        if (bVar22) {
          fVar24 = *(float *)((longlong)local_res20 + *(longlong *)(param_1 + 0xe0));
        }
        else {
          fVar24 = 0.0;
        }
        fVar24 = fVar24 * fVar29;
        uVar21 = (uint)uVar9;
        if ((fVar24 <= fVar27) || (fVar29 - fVar27 <= fVar24)) {
          plVar10 = plVar14;
          if (uVar21 < *(uint *)(param_1 + 0x10c)) {
            plVar10 = *(longlong **)(uVar18 + *(longlong *)(param_1 + 0x100));
          }
          (**(code **)(*plVar10 + 0x58))(plVar10,0);
          if (uVar21 < *(uint *)(param_1 + 0x11c)) {
            plVar14 = *(longlong **)(uVar18 + *(longlong *)(param_1 + 0x110));
          }
          (**(code **)(*plVar14 + 0x58))();
        }
        else {
          plVar10 = plVar14;
          if (uVar21 < *(uint *)(param_1 + 0x10c)) {
            plVar10 = *(longlong **)(uVar18 + *(longlong *)(param_1 + 0x100));
          }
          (**(code **)(*plVar10 + 0x58))(fVar29 - fVar27,1);
          plVar10 = plVar14;
          if (uVar21 < *(uint *)(param_1 + 0x11c)) {
            plVar10 = *(longlong **)(uVar18 + *(longlong *)(param_1 + 0x110));
          }
          (**(code **)(*plVar10 + 0x58))(plVar10,cVar15);
          plVar10 = (longlong *)(param_1 + 0xb0);
          fVar25 = fVar28 * DAT_1824c3df0;
          fVar26 = fVar26 - fVar28 * DAT_1824c3c94;
          fVar24 = (float)((uint)fVar27 ^ uVar16) + fVar24;
          dVar3 = (double)fVar27 + dVar5;
          dVar2 = (double)fVar25 + dVar5;
          local_160 = SUB84(dVar3,0);
          if (*(code **)(*plVar10 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) {
            if (*(longlong *)(param_1 + 0xb8) == 0) {
              FUN_180569ff0(param_1);
            }
            uVar7 = *(undefined8 *)(param_1 + 0xb8);
          }
          else {
            uVar7 = (**(code **)(*plVar10 + 8))(plVar10);
          }
          FUN_1813f22a0(uVar7,local_158,DAT_18267423c,param_1);
          if (*(code **)(*plVar10 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) {
            if (*(longlong *)(param_1 + 0xb8) == 0) {
              FUN_180569ff0(param_1);
            }
            local_res18 = *(double *)(param_1 + 0xb8);
          }
          else {
            local_res18 = (double)(**(code **)(*plVar10 + 8))(plVar10);
          }
          if (uVar21 < *(uint *)(param_1 + 0x10c)) {
            plVar14 = *(longlong **)(uVar18 + *(longlong *)(param_1 + 0x100));
          }
          puVar6 = (undefined8 *)FUN_18140e230(local_118,local_154);
          FUN_1813f0dc0(local_res18,DAT_182674268,*puVar6,plVar14);
          plVar14 = (longlong *)0x0;
          plVar11 = plVar14;
          if (uVar21 < *(uint *)(param_1 + 0x10c)) {
            plVar11 = *(longlong **)(uVar18 + *(longlong *)(param_1 + 0x100));
          }
          if (((((int)plVar11[0x3d] != 0) || (*(int *)((longlong)plVar11 + 0x1ec) != 0)) ||
              ((int)plVar11[0x3e] != 0)) || (*(int *)((longlong)plVar11 + 500) != 0)) {
            plVar11[0x3d] = 0;
            plVar11[0x3e] = 0;
            uStack_100 = (undefined4)plVar11[5];
            uStack_fc = *(undefined4 *)((longlong)plVar11 + 0x2c);
            local_108 = 0;
            uStack_104 = 0;
            FUN_181342870(0,&local_108,1);
          }
          plVar11 = plVar14;
          if (uVar21 < *(uint *)(param_1 + 0x10c)) {
            plVar11 = *(longlong **)(uVar18 + *(longlong *)(param_1 + 0x100));
          }
          FUN_18134bfe0(plVar11,(ulonglong)((double)(fVar26 - fVar25) + dVar5) & 0xffffffff,
                        (ulonglong)((double)fVar24 + dVar5) & 0xffffffff,
                        (ulonglong)dVar2 & 0xffffffff,local_160);
          cVar15 = local_res8;
          if (local_res8 == '\0') {
            if (uVar21 < *(uint *)(param_1 + 0x11c)) {
              plVar14 = *(longlong **)(uVar18 + *(longlong *)(param_1 + 0x110));
            }
            (**(code **)(*plVar14 + 0x58))();
            uVar16 = DAT_1824c4f30;
            fVar26 = local_res10;
          }
          else {
            dVar1 = (double)(float)((double)fVar26 - (double)fVar25 * dVar4) + dVar5;
            dVar23 = (double)fVar24 + dVar5;
            local_150 = dVar1;
            local_148 = dVar23;
            local_140 = dVar2;
            local_138 = dVar3;
            if (*(code **)(*plVar10 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) {
              if (*(longlong *)(param_1 + 0xb8) == 0) {
                FUN_180569ff0(param_1);
              }
              uVar7 = *(undefined8 *)(param_1 + 0xb8);
            }
            else {
              uVar7 = (**(code **)(*plVar10 + 8))(plVar10);
            }
            FUN_1813f22a0(uVar7,local_130,DAT_182674188,param_1);
            if (*(code **)(*plVar10 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) {
              if (*(longlong *)(param_1 + 0xb8) == 0) {
                FUN_180569ff0(param_1);
              }
              uVar7 = *(undefined8 *)(param_1 + 0xb8);
            }
            else {
              uVar7 = (**(code **)(*plVar10 + 8))(plVar10);
            }
            if (uVar21 < *(uint *)(param_1 + 0x11c)) {
              uVar20 = *(undefined8 *)(uVar18 + *(longlong *)(param_1 + 0x110));
            }
            else {
              uVar20 = 0;
            }
            puVar6 = (undefined8 *)FUN_18140e230(local_110,local_12c);
            FUN_1813f0dc0(uVar7,DAT_182674268,*puVar6,uVar20);
            lVar13 = 0;
            lVar12 = lVar13;
            if (uVar21 < *(uint *)(param_1 + 0x11c)) {
              lVar12 = *(longlong *)(uVar18 + *(longlong *)(param_1 + 0x110));
            }
            if (((*(int *)(lVar12 + 0x1e8) != 0) || (*(int *)(lVar12 + 0x1ec) != 0)) ||
               ((*(int *)(lVar12 + 0x1f0) != 0 || (*(int *)(lVar12 + 500) != 0)))) {
              *(undefined8 *)(lVar12 + 0x1e8) = 0;
              *(undefined8 *)(lVar12 + 0x1f0) = 0;
              uStack_f0 = *(undefined4 *)(lVar12 + 0x28);
              uStack_ec = *(undefined4 *)(lVar12 + 0x2c);
              local_f8 = 0;
              uStack_f4 = 0;
              FUN_181342870(0,&local_f8,1);
            }
            if (uVar21 < *(uint *)(param_1 + 0x11c)) {
              lVar13 = *(longlong *)(uVar18 + *(longlong *)(param_1 + 0x110));
            }
            FUN_18134bfe0(lVar13,(ulonglong)dVar1 & 0xffffffff,(ulonglong)dVar23 & 0xffffffff,
                          (ulonglong)dVar2 & 0xffffffff,local_160);
            uVar16 = DAT_1824c4f30;
            cVar15 = local_res8;
            fVar26 = local_res10;
          }
        }
        uVar21 = uVar21 + 1;
        uVar9 = (ulonglong)uVar21;
        local_res20 = (double)((longlong)local_res20 + 4);
        uVar18 = uVar18 + 8;
        bVar22 = uVar21 < *(uint *)(param_1 + 0xec);
      } while ((int)uVar21 < (int)*(uint *)(param_1 + 0xec));
    }
  }
  return;
}


   --- [40] 0x18134b940 size=196 ---

void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___
               (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 *puVar1;
  longlong *plVar2;
  undefined8 uVar3;
  
  uVar3 = 0xfffffffffffffffe;
  if (DAT_182673c20 == (undefined8 *)0x0) {
    puVar1 = (undefined8 *)FUN_1811316e0(0x28);
    FUN_1812a59f0(puVar1);
    FUN_1812a7230(puVar1 + 2);
    *puVar1 = juce::ModalComponentManager::vftable;
    puVar1[2] = juce::ModalComponentManager::vftable;
    puVar1[3] = 0;
    puVar1[4] = 0;
    DAT_182673c20 = puVar1;
  }
  FUN_18133b010(DAT_182673c20,1,param_3,param_4,uVar3);
  plVar2 = (longlong *)FUN_18134adf0(param_1);
  if (*(code **)(*plVar2 + 0x78) == FUN_1812c6070) {
                    /* WARNING: Could not recover jumptable at 0x00018134b9e5. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    MessageBeep(0);
    return;
  }
  (**(code **)(*plVar2 + 0x78))(plVar2);
  return;
}


   --- [42] 0x18134b870 size=87 ---

void .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__
               (undefined8 param_1,undefined4 param_2,undefined8 param_3)

{
  undefined8 uVar1;
  
  uVar1 = FUN_1811316e0(0x158);
  FUN_18050dd00(uVar1,param_1,param_2,param_3,0);
  return;
}


   --- [43] 0x180589f40 size=99 ---

void .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__
               (undefined8 param_1,undefined8 param_2)

{
  undefined8 *puVar1;
  undefined1 local_res18 [16];
  
  puVar1 = (undefined8 *)FUN_18140e230(local_res18,DAT_18262bb74);
  FUN_1813f0dc0(param_2,DAT_182674268,*puVar1,param_1);
  puVar1 = (undefined8 *)FUN_18140e230(local_res18,DAT_182674358);
  FUN_1813f0dc0(param_2,DAT_182674230,*puVar1,param_1);
  return;
}


   --- [49] 0x18058b010 size=176 ---

void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___(longlong param_1)

{
  byte *pbVar1;
  ulonglong uVar2;
  byte bVar3;
  undefined8 local_18;
  undefined4 uStack_10;
  undefined4 uStack_c;
  
  uVar2 = (ulonglong)*(uint *)(param_1 + 0x97b0);
  if (0 < (int)*(uint *)(param_1 + 0x97b0)) {
    bVar3 = *(byte *)(param_1 + 0x9939);
    pbVar1 = (byte *)(param_1 + 0x993a);
    do {
      bVar3 = bVar3 | *pbVar1;
      pbVar1 = pbVar1 + 1;
      *(byte *)(param_1 + 0x9939) = bVar3;
      uVar2 = uVar2 - 1;
    } while (uVar2 != 0);
  }
  if (*(char *)(param_1 + 0x9939) != '\0') {
    (**(code **)(*(longlong *)(param_1 + -200) + 0x170))(param_1 + -200);
    uStack_10 = *(undefined4 *)(param_1 + -0xa0);
    uStack_c = *(undefined4 *)(param_1 + -0x9c);
    local_18 = 0;
    FUN_181342870(param_1 + -200,&local_18,1);
    *(undefined1 *)(param_1 + 0x9939) = 0;
  }
  return;
}


   --- [52] 0x18160b000 size=4718 ---

/* WARNING: Instruction at (ram,0x00018160bbc8) overlaps instruction at (ram,0x00018160bbc3)
    */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
/* WARNING: Removing unreachable block (ram,0x00018160b5f3) */
/* WARNING: Removing unreachable block (ram,0x00018160b060) */
/* WARNING: Removing unreachable block (ram,0x00018160b041) */
/* WARNING: Removing unreachable block (ram,0x00018160b229) */
/* WARNING: Removing unreachable block (ram,0x00018160bbc3) */
/* WARNING: Removing unreachable block (ram,0x00018160b46f) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Restarted to delay deadcode elimination for space: stack */

void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___
               (longlong param_1,int param_2,undefined8 param_3)

{
  uint uVar1;
  uint uVar2;
  byte bVar3;
  undefined8 uVar4;
  longlong lVar5;
  undefined1 *puVar6;
  uint uVar7;
  ulonglong uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint *puVar13;
  uint uVar14;
  longlong lVar15;
  undefined4 *puVar16;
  ulonglong uVar17;
  longlong *plVar18;
  uint *puVar19;
  uint *puVar20;
  undefined1 *puVar21;
  undefined8 uVar22;
  uint uVar23;
  uint uVar24;
  uint uVar25;
  uint uVar26;
  uint uVar27;
  int iVar28;
  uint uVar29;
  ulonglong uVar30;
  uint uVar31;
  longlong lVar32;
  bool bVar33;
  int unaff_retaddr;
  undefined1 auStack_148 [32];
  int local_128;
  uint local_124;
  uint *local_120;
  undefined *local_118;
  uint local_110;
  uint local_10c;
  uint local_108;
  uint local_104;
  uint local_100;
  uint local_fc;
  int local_f8;
  undefined8 local_f0;
  undefined4 local_e8;
  uint local_e4;
  int local_e0;
  uint local_dc;
  code *local_d8;
  longlong local_d0;
  undefined8 local_c8;
  undefined4 local_c0;
  undefined4 local_bc;
  longlong local_b8;
  longlong local_b0;
  longlong local_a8;
  code *local_a0;
  uint local_94;
  uint local_90;
  undefined4 local_80;
  uint local_7c;
  int local_78;
  uint local_74;
  undefined1 local_68 [8];
  uint local_60;
  uint local_5c;
  ulonglong local_40;
  
  local_40 = DAT_182615970 ^ (ulonglong)auStack_148;
  uVar29 = (uint)&stack0x00000000 & 0x3ff;
  local_dc = 0x9ea5 - ((uVar29 + 2) * (uVar29 + 1) * uVar29) % 3 ^ 0x9655;
  local_e0 = 0x420;
  local_f0 = 0x100;
  local_120 = &DAT_18163cb4c;
  local_118 = &DAT_18163cc4c;
  uVar29 = (DAT_18163cb4c ^ 0x811c9e53) * 0x10001d1;
  uVar30 = (ulonglong)uVar29;
  uVar29 = _DAT_18163cb78 ^
           (_DAT_18163cb74 ^
           (_DAT_18163cb70 ^
           (_DAT_18163cb6c ^
           (_DAT_18163cb68 ^
           (DAT_18163cb64 ^
           (DAT_18163cb60 ^
           (DAT_18163cb5c ^
           (DAT_18163cb58 ^ (DAT_18163cb54 ^ (DAT_18163cb50 ^ uVar29) * 0x10001d1) * 0x10001d1) *
           0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1)
           * 0x10001d1;
  local_f8 = param_2;
  local_d0 = param_1;
  local_c8 = param_3;
  do {
    uVar22 = rdtsc();
    local_110 = (uint)uVar22 ^ (uint)((ulonglong)uVar22 >> 0x20);
    FUN_18160962e();
    uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar9 < 0) {
      uVar9 = (uVar9 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar9 != 0);
  local_110 = (local_110 * -0x3d4d4602 >> 0x18 ^ local_110 * -0x3d4d4602) * -0x3b313595;
  if (local_110 < 0x430fc8) {
    do {
      local_d8 = FUN_1813f2240;
      uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar9 < 0) {
        uVar9 = (uVar9 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar9 != 0);
    uVar8 = FUN_1813f2240(0,0x672d);
    if (1 < uVar8) {
      FUN_18113eab0();
    }
  }
  lVar15 = 0x17;
  uVar29 = (_DAT_18163cb7c ^ uVar29 * 0x10001d1) * 0x10001d1;
  local_118 = (undefined *)0xeb1172bd7cee29a8;
  puVar19 = (uint *)&DAT_18163cb80;
  local_120 = (uint *)CONCAT44(local_120._4_4_,0x7cee29a8);
  do {
    uVar9 = *puVar19;
    puVar19 = puVar19 + 1;
    uVar29 = (uVar9 ^ uVar29) * 0x10001d1;
    lVar15 = lVar15 + -1;
  } while (lVar15 != 0);
  uVar29 = (*puVar19 ^ uVar29) * 0x10001d1;
  if ((uVar29 >> 8 & 1) == 0) {
    uVar9 = uVar29 & 0x27f;
    iVar28 = (uVar9 + 2) * (uVar9 + 1) * uVar9;
    uVar9 = ((iVar28 >> 1) - (iVar28 >> 3)) + iVar28 * 0x55555555 >> 0x1e;
  }
  else {
    uVar9 = uVar29 & 0x3f;
    uVar9 = (uVar9 + 1) * (uVar9 + 1) * uVar9 * uVar9 & 1;
  }
  uVar9 = 0xf642 - uVar9 ^ 0xf542;
  puVar20 = (uint *)((longlong)puVar19 + (longlong)(int)uVar9 + -0x2f4);
  uVar24 = (uint)puVar20 & 0xff;
  uVar9 = (*puVar20 ^
          (*(uint *)((longlong)puVar19 + (longlong)(int)uVar9 + -0x2f8) ^
          (*(uint *)((longlong)puVar19 + (longlong)(int)uVar9 + -0x2fc) ^ uVar29) * 0x10001d1) *
          0x10001d1) * 0x10001d1;
  uVar29 = uVar9 & 0x3bff;
  uVar29 = ((uVar29 + 1) * uVar29 + 7) % 0x51 - ((uVar24 + 2) * (uVar24 + 1) * uVar24) % 3;
  puVar20 = (uint *)((longlong)puVar20 +
                    (0x204 - (ulonglong)(~((int)(uVar29 | -uVar29) >> 0x1f & 0xfffffdffU) & 0xfae7))
                    );
  bVar33 = puVar20 == (uint *)0x0;
  bVar3 = POPCOUNT((ulonglong)puVar20 & 0xff);
  do {
    if (((bVar3 & 1) == 0) && (bVar33)) {
      uVar30 = ~(~uVar30 + 1) + 1;
    }
    uVar29 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar29 < 0) {
      uVar29 = (uVar29 - 1 | 0xfffffffe) + 1;
    }
    bVar33 = uVar29 == 0;
    bVar3 = POPCOUNT(uVar29 & 0xff);
  } while (!bVar33);
  uVar24 = (int)puVar20 + 4U & 0x5f;
  uVar26 = (puVar20[1] ^ (*puVar20 ^ uVar9) * 0x10001d1) * 0x10001d1;
  uVar29 = uVar26 & 0x1f;
  puVar20 = (uint *)((longlong)puVar20 +
                    (((longlong)
                      (int)(((uVar24 + 1) * (uVar24 + 1) * uVar24 * uVar24 & 1) +
                           ((uVar29 + 1) * (uVar29 + 1) * uVar29 * uVar29 & 0x80000003)) ^ 0x400U) -
                    0x3f8));
  uVar29 = *puVar20;
  uVar9 = puVar20[1];
  uVar24 = puVar20[2];
  uVar25 = puVar20[3];
  uVar27 = puVar20[4];
  uVar1 = puVar20[5];
  do {
    local_e8 = 0xf4b58d1e;
    uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar10 < 0) {
      uVar10 = (uVar10 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar10 != 0);
  uVar10 = puVar20[6];
  uVar2 = puVar20[7];
  do {
    local_c0 = 0x72;
    local_b8 = 0x18160b707;
    uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar11 < 0) {
      uVar11 = (uVar11 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar11 != 0);
  local_128 = 0x101f68d;
  do {
    plVar18 = &local_b0;
    puVar16 = &local_bc;
    puVar19 = &local_104;
    FUN_18160cf73();
    *puVar19 = 0x4816aad0;
    *puVar16 = 0x6c;
    *plVar18 = 0x18160b7e7;
    uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar11 < 0) {
      uVar11 = (uVar11 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar11 != 0);
  lVar15 = local_128 + local_b8;
  uVar11 = local_104 << 4;
  uVar14 = local_104 >> 0x1c;
  uVar7 = local_104 >> 4;
  uVar23 = local_104 << 0x1c;
  local_128 = 0;
  local_104 = 0;
  uVar11 = ((uVar7 | uVar23) & 0xe1e1e1e1 | (uVar11 | uVar14) & 0x1e1e1e1e) ^ 0xe5d863fd;
  uVar14 = ((uVar11 & 0x33333333) << 2 | uVar11 >> 2 & 0x33333333) + 0x87604ead;
  uVar11 = (uVar14 >> 0xf ^ uVar14) & 0x3fff;
  uVar14 = uVar14 ^ (uVar11 << 0xf | uVar11);
  uVar14 = ((uVar14 << 0x10 | uVar14 >> 0x10) & 0xed1212ed |
           (uVar14 >> 0x10 | uVar14 << 0x10) & 0x12eded12) ^ 0xb938882a;
  uVar11 = (uVar14 >> 0xe ^ uVar14) >> 2 & 0x3fff;
  uVar14 = uVar14 ^ (uVar11 << 0xe | uVar11) << 2;
  lVar32 = ((longlong)(int)(uVar14 << 0x10 | uVar14 >> 0x10) & 0xffffffffcb0934f6U |
           (ulonglong)((uVar14 >> 0x10 | uVar14 << 0x10) & 0x34f6cb09)) + local_b0;
  *(longlong *)(lVar15 + 4) =
       *(longlong *)(lVar15 + 4) +
       (ulonglong)((uint)(*(ulonglong *)(lVar32 + 4) >> 0x1b) & 0x45210049);
  do {
    puVar19 = &local_e4;
    puVar13 = &local_124;
    FUN_18160a47b();
    uVar22 = rdtsc();
    uVar11 = (int)uVar22 + (int)((ulonglong)uVar22 >> 0x20);
    *puVar19 = uVar11;
    uVar8 = (ulonglong)uVar11 * -0x47ff - 0x419c2dc1;
    uVar8 = uVar8 - (uVar8 * 0x20 | uVar8 >> 0x3b);
    *puVar13 = (uint)((uVar8 ^ (uVar8 >> 0xd) - 0x3b73948f) * 0x101 - 0x6d2a332 >> 5) & 0xc78b3a8e;
    lVar5 = local_d0;
    uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar11 < 0) {
      uVar11 = (uVar11 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar11 != 0);
  *(int *)(lVar15 + 8) = *(int *)(lVar15 + 8) + (local_124 ^ 0x328b734b);
  *(int *)(lVar15 + 4) = *(int *)(lVar15 + 4) + (local_124 ^ 0xc0006fe8);
  uVar17 = (*(ulonglong *)(lVar15 + 4) << 0x21 | *(ulonglong *)(lVar15 + 4) >> 0x1f) +
           0xb0379220c452d670;
  uVar8 = (ulonglong)((uint)((uVar17 >> 0x1e ^ uVar17) >> 2) & 0x1fffff);
  uVar8 = ((uVar8 << 0x1e | uVar8) << 2 ^ uVar17) + 0xba631318a0d4a7cb;
  uVar17 = (uVar8 >> 4 | uVar8 << 0x3c) & 0xc3c3c3c3c3c3c3c3 |
           (uVar8 * 0x10 | uVar8 >> 0x3c) & 0x3c3c3c3c3c3c3c3c;
  uVar11 = (uint)((uVar17 >> 9 ^ uVar17) >> 0x1a) & 1;
  uVar8 = ((ulonglong)uVar11 << 9 | (ulonglong)uVar11) << 0x1a ^ uVar17;
  uVar8 = ((uVar8 << 4 | uVar17 >> 0x3c) & 0xe1e1e1e1e1e1e1e1 |
          (uVar8 >> 4 | uVar17 << 0x3c) & 0x1e1e1e1e1e1e1e1e) + 0xcbb348cc940fcd7a;
  uVar8 = (uVar8 >> 2 | uVar8 << 0x3e) & 0x9999999999999999 |
          (uVar8 * 4 | uVar8 >> 0x3e) & 0x6666666666666666;
  *(ulonglong *)(lVar15 + 4) = uVar8;
  plVar18 = (longlong *)(lVar32 + 4);
  *plVar18 = *plVar18 + (ulonglong)((uint)(uVar8 >> 0xf) & 0x20230248);
  local_124 = (uint)(*(ulonglong *)(lVar15 + 4) >> 0x1b) & 0x7fffffff;
  local_108 = (uint)(*(ulonglong *)(lVar15 + 4) >> 0x19) ^ 0xb9d9b711;
  local_118 = (undefined *)(*(ulonglong *)(lVar15 + 4) ^ 0x49746e3163e2e07a);
  uVar29 = (puVar20[0xb] ^
           (puVar20[10] ^
           (puVar20[9] ^
           (puVar20[8] ^
           (uVar2 ^ (uVar10 ^ (uVar1 ^ (uVar27 ^ (uVar25 ^ (uVar24 ^ (uVar9 ^ (uVar29 ^ uVar26) *
                                                                              0x10001d1) * 0x10001d1
                                                           ) * 0x10001d1) * 0x10001d1) * 0x10001d1)
                              * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) *
           0x10001d1) * 0x10001d1;
  local_f0 = CONCAT44(local_f0._4_4_,uVar29);
  do {
    uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar9 < 0) {
      uVar9 = (uVar9 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar9 != 0);
  local_90 = (uint)local_118;
  uVar9 = ((local_90 ^ local_108) & 0x6593f979 ^ local_108) + 0x4ed1481b;
  uVar24 = ((local_90 ^ local_108) & 0x9a6c0686 ^ local_108) + 0xaef7aa14;
  uVar27 = (int)((ulonglong)local_118 >> 0x20) + 0x7bc739d3;
  uVar25 = (uVar9 * 0x100 | uVar9 >> 0x18) & 0x9a659a65 |
           (uVar9 >> 8 | uVar9 * 0x1000000) & 0x659a659a;
  uVar27 = uVar27 >> 2 & 0xcccccccc | uVar27 * 0x40000000 | uVar27 * 4 & 0x33333333 | uVar27 >> 0x1e
  ;
  uVar24 = ((uVar24 * 0x10000 | uVar24 >> 0x10) & 0xc73b38c4 |
           (uVar24 >> 0x10 | uVar24 * 0x10000) & 0x38c4c73b) ^ uVar25;
  uVar9 = uVar24 & 0x8a578475 ^ uVar25;
  uVar22 = 0x1f67ec24;
  uVar24 = uVar24 & 0x75a87b8a ^ uVar25 ^ uVar9;
  uVar25 = uVar24 & 0x44465b56 ^ uVar9;
  uVar9 = uVar24 & 0xbbb9a4a9 ^ uVar9;
  uVar24 = uVar25 >> 0x19 | uVar25 << 7;
  uVar25 = (uVar27 >> 10 | uVar27 << 0x16) ^ uVar24;
  uVar31 = (uVar9 >> 0x1f | uVar9 << 1) ^ 0xea2cbcd1;
  uVar8 = (ulonglong)uVar31;
  uVar7 = uVar25 & 0xddffbe9c ^ uVar24;
  uVar23 = uVar25 & 0x22004163 ^ uVar24 ^ uVar7;
  uVar9 = puVar20[0xc];
  uVar24 = puVar20[0xd];
  uVar25 = puVar20[0xe];
  uVar27 = puVar20[0xf];
  uVar1 = puVar20[0x10];
  uVar26 = puVar20[0x11];
  uVar10 = puVar20[0x12];
  uVar2 = puVar20[0x13];
  uVar11 = puVar20[0x14];
  uVar14 = puVar20[0x15];
  do {
    uVar4 = rdtsc();
    local_e4 = (int)uVar4 - (int)((ulonglong)uVar4 >> 0x20);
    uVar17 = (ulonglong)local_e4 - ((ulonglong)(local_e4 >> 5) - 0x3dd514ae) >> 8;
    uVar17 = uVar17 + (~-uVar17 + 1) * 0x200 + -0x72ddc7ad;
    uVar17 = uVar17 ^ uVar17 * 0x200;
    uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar12 < 0) {
      uVar12 = (uVar12 - 1 | 0xfffffffe) + 1;
    }
  } while (uVar12 != 0);
  local_100 = (uint)((int)uVar17 - (int)(uVar17 << 5)) >> 1 ^ local_124;
  local_94 = local_108;
  if (local_100 < 0xd698) {
    do {
      uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar12 < 0) {
        uVar12 = (uVar12 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar12 != 0);
    local_10c = 0x7432a569;
    local_80 = 0x1f67ec24;
    local_7c = uVar31;
    local_78 = (uVar23 & 0x7310039d ^ uVar7) + 0x6bb1bcf9;
    local_74 = uVar23 & 0x8ceffc62 ^ uVar7 ^ 0xaa7d1554;
    do {
      plVar18 = &local_a8;
      puVar19 = &local_fc;
      FUN_18160cbe4();
      *puVar19 = 0x5e5cf042;
      uVar30 = 0;
      *plVar18 = 0x18160bf83;
      FUN_18160a645();
      uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
      if ((int)uVar7 < 0) {
        uVar7 = (uVar7 - 1 | 0xfffffffe) + 1;
      }
    } while (uVar7 != 0);
    uVar7 = (local_fc + 0x1804952a >> 0x15 | (local_fc + 0x1804952a) * 0x800) ^ 0x90bd4e7c;
    local_fc = ~((uVar7 >> 0x11 | uVar7 << 0xf) + 0xe9b473b7);
    (*(code *)((int)local_fc + local_a8))(&local_80,local_68);
    iVar28 = 7;
    do {
      uVar31 = ((local_60 << 4 | local_60 >> 0x1c) & 0xb4b4b4b4 |
               (local_60 >> 4 | local_60 << 0x1c) & 0x4b4b4b4b) + 0xedf66992;
      uVar23 = ((local_5c >> 8 | local_5c << 0x18) & 0xfa05fa05 |
               (local_5c << 8 | local_5c >> 0x18) & 0x5fa05fa) + 0x703d2ee4;
      uVar7 = uVar31 >> 0xc;
      uVar23 = (uVar23 >> 0x1d | uVar23 * 8) + 0x5f26144;
      uVar31 = (((uVar7 | uVar31 * 0x100000) ^ 0x2677a938) >> 3 | uVar7 << 0x1d) + 0x70f6a640;
      uVar23 = (uVar23 * 0x8000 | uVar23 >> 0x11) + 0x191d2650;
      uVar12 = uVar31 >> 0x17 | uVar31 * 0x200;
      uVar7 = uVar23 >> 0xc;
      uVar23 = uVar23 * 0x100000 | uVar7;
      uVar31 = (uVar12 >> 8 | (uVar31 >> 0x17) << 0x18) & 0xa857a857 |
               (uVar12 << 8 | (uVar31 & 0x7fffff) >> 0xf) & 0x57a857a8;
      uVar23 = (uVar7 << 0x10 | uVar23 >> 0x10) & 0xd65429ab |
               (uVar23 >> 0x10 | uVar7 << 0x10) & 0x29abd654;
      uVar7 = uVar31 >> 6;
      local_60 = uVar7 | uVar31 << 0x1a;
      local_5c = uVar23 << 0x16 | uVar23 >> 10;
      iVar28 = iVar28 + -1;
    } while (-1 < iVar28);
    uVar7 = (uVar7 << 0x1d | local_60 >> 3) + 0xa6be00c2;
    uVar7 = (uVar7 * 0x80 | uVar7 >> 0x19) + 0xc72db2d0;
    uVar7 = (uVar7 * 8 | uVar7 >> 0x1d) + 0x5e0136f7;
    uVar7 = (uVar7 * 0x400 | uVar7 >> 0x16) ^ 0xd2776bfa;
    if (((uVar7 >> 0x10 | uVar7 << 0x10) ^ local_10c) + local_5c != local_108) {
      do {
        local_a0 = FUN_180bc28e0;
        uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
        if ((int)uVar7 < 0) {
          uVar7 = (uVar7 - 1 | 0xfffffffe) + 1;
        }
      } while (uVar7 != 0);
      FUN_180bc28e0();
      do {
        uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
        if ((int)uVar7 < 0) {
          uVar7 = (uVar7 - 1 | 0xfffffffe) + 1;
        }
      } while (uVar7 != 0);
    }
  }
  uVar9 = (uVar14 ^ (uVar11 ^ (uVar2 ^ (uVar10 ^ (uVar26 ^ (uVar1 ^ (uVar27 ^ (uVar25 ^ (uVar24 ^ (
                                                  uVar9 ^ uVar29) * 0x10001d1) * 0x10001d1) *
                                                  0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1)
                                       * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1 ^
          0xd282d6a9;
  uVar29 = (uVar9 >> 0xe ^ uVar9) >> 1 & 0xff;
  lVar32 = (longlong)local_f8;
  uVar29 = ~((uVar29 << 0xe | uVar29) * 2 ^ uVar9) + 0xac1763b7;
  uVar9 = uVar29 >> 0x17 | uVar29 * 0x200;
  uVar29 = ((uVar29 & 0x7fffff) >> 3 ^ uVar9) >> 7 & 0x1ff;
  lVar15 = lVar32 * 0x828 + 0x3830 + lVar5;
  if ((uint)local_120 == ((uVar29 << 0xc | uVar29) << 7 ^ uVar9)) {
    FUN_180589400(lVar15,local_c8);
    *(undefined1 *)(*(longlong *)(lVar5 + 0x10) + 0x9a02 + lVar32) = 1;
    thunk_FUN_1805a9280();
    return;
  }
  FUN_180589400(lVar15,local_c8);
  *(undefined1 *)(*(longlong *)(lVar5 + 0x10) + 0x9a02 + lVar32) = 1;
  puVar6 = auStack_148;
  do {
    puVar21 = puVar6;
    *(ulonglong *)(puVar21 + -8) = uVar30;
    *(undefined8 *)(puVar21 + -0x10) = uVar22;
    *(ulonglong *)(puVar21 + -0x18) = uVar8;
    lVar15 = -(longlong)local_e0;
    uVar8 = *(ulonglong *)(puVar21 + lVar15 + 0x408);
    uVar22 = *(undefined8 *)(puVar21 + lVar15 + 0x410);
    uVar30 = *(ulonglong *)(puVar21 + lVar15 + 0x418);
    uVar29 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001;
    if ((int)uVar29 < 0) {
      uVar29 = (uVar29 - 1 | 0xfffffffe) + 1;
    }
    puVar6 = puVar21 + lVar15 + 0x420;
  } while (uVar29 != 0);
  *(undefined **)(puVar21 + lVar15 + 0x418) = &UNK_18160c3e2;
}


   --- [63] 0x18134bb30 size=93 ---

void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__
               (longlong param_1,undefined8 param_2,undefined8 param_3)

{
  longlong lVar1;
  undefined8 uVar2;
  undefined1 local_68 [96];
  
  if (*(longlong **)(param_1 + 0x18) != (longlong *)0x0) {
    lVar1 = **(longlong **)(param_1 + 0x18);
    uVar2 = FUN_181339840(param_2,local_68);
    (**(code **)(lVar1 + 0x40))(*(undefined8 *)(param_1 + 0x18),uVar2,param_3);
  }
  return;
}


