############ VTABLE 0x1824abb90 (64 slots) ############ [0] 0x18052d390 size=52 --- C --- void * .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__ (void *param_1,ulonglong param_2) { FUN_180529aa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } [1] 0x18052cfb0 size=61 --- C --- void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(longlong param_1) { FUN_1812b4430(param_1 + 0x14,0,2); *(float *)(param_1 + 0x58) = (float)(DAT_1824c4230 / (double)*(float *)(param_1 + 0x24)); return; } [2] 0x180529550 size=191 --- C --- void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong *param_1,undefined4 param_2,undefined4 *param_3,int param_4) { int *piVar1; longlong lVar2; uint *puVar3; lVar2 = (longlong)param_4; puVar3 = (uint *)(param_1 + (lVar2 + 9) * 8); *(undefined4 *)(*(longlong *)(puVar3 + 8) + (longlong)(int)*puVar3 * 4) = *param_3; *puVar3 = puVar3[2] - 1 & *puVar3 + 1; puVar3 = (uint *)(param_1 + (lVar2 + 7) * 8); *(undefined4 *)(*(longlong *)(puVar3 + 8) + (longlong)(int)*puVar3 * 4) = param_2; *puVar3 = puVar3[2] - 1 & *puVar3 + 1; piVar1 = (int *)((longlong)param_1 + lVar2 * 4 + 0x3c0); *piVar1 = *piVar1 + 1; if ((*(int *)((longlong)param_1 + lVar2 * 4 + 0x3c0) == (int)param_1[0x79] / 2) && (param_4 == 0)) { (**(code **)(*param_1 + 0x38))(param_1); } if (*(int *)((longlong)param_1 + lVar2 * 4 + 0x3c0) == (int)param_1[0x79]) { *(undefined4 *)((longlong)param_1 + lVar2 * 4 + 0x3c0) = 0; FUN_1805300f0(param_1,param_4); } return; } [3] 0x1804714b0 size=3 [4] 0x180529610 size=1154 --- C --- void .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__ (longlong *param_1,longlong *param_2,ulonglong param_3) { int iVar1; int iVar2; longlong lVar3; ulonglong uVar4; uint uVar5; int iVar6; ulonglong uVar7; ulonglong uVar8; ulonglong uVar9; longlong *plVar10; longlong *plVar11; code *pcVar12; uVar4 = 0; uVar9 = uVar4; if (0 < (int)param_1[6]) { param_2 = param_1 + 0x3b; do { param_2[-3] = 0; uVar8 = uVar4; uVar7 = uVar4; if (0 < (int)*param_2) { do { *(undefined4 *)(uVar7 + param_2[-1]) = 0; uVar5 = (int)uVar8 + 1; uVar8 = (ulonglong)uVar5; uVar7 = uVar7 + 4; } while ((int)uVar5 < (int)*param_2); } param_2[1] = param_2[-1]; param_2[0xd] = 0; uVar8 = uVar4; uVar7 = uVar4; if (0 < (int)param_2[0x10]) { do { *(undefined4 *)(uVar8 + param_2[0xf]) = 0; uVar5 = (int)uVar7 + 1; uVar8 = uVar8 + 4; uVar7 = (ulonglong)uVar5; } while ((int)uVar5 < (int)param_2[0x10]); } param_2[0x11] = param_2[0xf]; param_2[0x1d] = 0; uVar8 = uVar4; param_3 = uVar4; if (0 < (int)param_2[0x20]) { do { *(undefined4 *)(uVar8 + param_2[0x1f]) = 0; uVar5 = (int)param_3 + 1; param_3 = (ulonglong)uVar5; uVar8 = uVar8 + 4; } while ((int)uVar5 < (int)param_2[0x20]); } param_2[0x21] = param_2[0x1f]; uVar5 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar5; param_2 = param_2 + 8; } while ((int)uVar5 < (int)param_1[6]); } FUN_18052e130(param_1,param_2,param_3,uVar9,0xfffffffffffffffe); iVar1 = (int)param_1[0x34]; uVar9 = (longlong)iVar1 % (longlong)*(int *)((longlong)param_1 + 0x1ac) & 0xffffffff; *(int *)(param_1 + 0x79) = iVar1 / *(int *)((longlong)param_1 + 0x1ac); *(int *)(param_1 + 0x35) = (int)param_1[0x36] * iVar1; if (0 < (int)param_1[6]) { plVar10 = param_1 + 0x3b; uVar8 = uVar4; do { iVar2 = FUN_1813bbf80(0x10000,uVar9); if ((int)plVar10[-2] != iVar2) { FUN_18052e190(plVar10 + -1,iVar2,0); } *(int *)(plVar10 + -2) = iVar2; plVar10[-3] = 0; uVar9 = uVar4; uVar7 = uVar4; if (0 < (int)*plVar10) { do { *(undefined4 *)(uVar9 + plVar10[-1]) = 0; uVar5 = (int)uVar7 + 1; uVar9 = uVar9 + 4; uVar7 = (ulonglong)uVar5; } while ((int)uVar5 < (int)*plVar10); } plVar10[1] = plVar10[-1]; uVar5 = (int)param_1[0x34] + (int)plVar10[-3] & (int)plVar10[-2] - 1U; if ((int)uVar5 < 0) { uVar5 = uVar5 + (int)plVar10[-2]; } *(uint *)(plVar10 + -3) = uVar5; iVar2 = FUN_1813bbf80(0x10000); if ((int)plVar10[0xe] != iVar2) { FUN_18052e190(plVar10 + 0xf,iVar2,0); } *(int *)(plVar10 + 0xe) = iVar2; plVar10[0xd] = 0; uVar9 = uVar4; uVar7 = uVar4; if (0 < (int)plVar10[0x10]) { do { *(undefined4 *)(uVar9 + plVar10[0xf]) = 0; uVar5 = (int)uVar7 + 1; uVar9 = uVar9 + 4; uVar7 = (ulonglong)uVar5; } while ((int)uVar5 < (int)plVar10[0x10]); } plVar10[0x11] = plVar10[0xf]; uVar5 = (int)param_1[0x34] + (int)plVar10[0xd] & (int)plVar10[0xe] - 1U; if ((int)uVar5 < 0) { uVar5 = uVar5 + (int)plVar10[0xe]; } *(uint *)(plVar10 + 0xd) = uVar5; iVar2 = FUN_1813bbf80(0x10000); if ((int)plVar10[0x1e] != iVar2) { FUN_18052e190(plVar10 + 0x1f,iVar2,0); } *(int *)(plVar10 + 0x1e) = iVar2; plVar10[0x1d] = 0; uVar7 = uVar4; uVar9 = uVar4; if (0 < (int)plVar10[0x20]) { do { *(undefined4 *)(uVar7 + plVar10[0x1f]) = 0; uVar5 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar5; uVar7 = uVar7 + 4; } while ((int)uVar5 < (int)plVar10[0x20]); } plVar10[0x21] = plVar10[0x1f]; uVar5 = (int)uVar8 + 1; uVar8 = (ulonglong)uVar5; plVar10 = plVar10 + 8; } while ((int)uVar5 < (int)param_1[6]); } if (0 < (int)param_1[6]) { iVar2 = iVar1 * 0x10; plVar10 = param_1 + 0x6c; uVar9 = uVar4; do { if ((int)plVar10[1] == iVar2) { LAB_18052990b: uVar8 = uVar4; uVar7 = uVar4; if (0 < (int)plVar10[1]) { do { *(undefined4 *)(uVar8 + *plVar10) = 0; uVar5 = (int)uVar7 + 1; uVar8 = uVar8 + 4; uVar7 = (ulonglong)uVar5; } while ((int)uVar5 < (int)plVar10[1]); } } else { if ((0 < (int)plVar10[1]) && (*plVar10 != 0)) { FUN_1800010c0(); } *plVar10 = 0; iVar6 = iVar2; if (iVar2 < 0) { iVar6 = 0; } *(int *)(plVar10 + 1) = iVar6; if (iVar6 != 0) { lVar3 = FUN_180001080(iVar6 * 4); *plVar10 = lVar3; goto LAB_18052990b; } } uVar5 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar5; plVar10 = plVar10 + 2; } while ((int)uVar5 < (int)param_1[6]); } if (0 < (int)param_1[6]) { plVar11 = param_1 + 0x70; plVar10 = param_1 + 0x6c; uVar9 = uVar4; do { *plVar11 = *plVar10; uVar5 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar5; plVar10 = plVar10 + 2; plVar11 = plVar11 + 1; } while ((int)uVar5 < (int)param_1[6]); } FUN_18052e190(param_1 + 0x72,iVar1 * 0x10,0); FUN_18052dc30(param_1 + 0xc,(int)param_1[0x35],iVar1 * 8); FUN_18052e190(param_1 + 0x74,(int)param_1[0x34],0); uVar9 = uVar4; uVar8 = uVar4; if (0 < (int)param_1[0x75]) { do { *(undefined4 *)(uVar9 + param_1[0x74]) = 0; uVar5 = (int)uVar8 + 1; uVar9 = uVar9 + 4; uVar8 = (ulonglong)uVar5; } while ((int)uVar5 < (int)param_1[0x75]); } if (0 < (int)param_1[6]) { plVar10 = param_1 + 0x78; do { *(undefined4 *)plVar10 = 0; uVar5 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar5; plVar10 = (longlong *)((longlong)plVar10 + 4); } while ((int)uVar5 < (int)param_1[6]); } FUN_18052df60(param_1); if (*(char *)((longlong)param_1 + 0x1b6) == '\0') { if (*(char *)((longlong)param_1 + 0x1b7) == '\0') { if ((char)param_1[0x37] == '\0') goto LAB_180529a6a; *(undefined1 *)(param_1 + 0x37) = 0; pcVar12 = *(code **)(*param_1 + 0x48); } else { *(undefined1 *)((longlong)param_1 + 0x1b7) = 0; pcVar12 = *(code **)(*param_1 + 0x58); } } else { *(undefined1 *)((longlong)param_1 + 0x1b6) = 0; pcVar12 = *(code **)(*param_1 + 0x50); } if (pcVar12 != _guard_check_icall) { (*pcVar12)(param_1); } LAB_180529a6a: *(undefined1 *)((longlong)param_1 + 0x3cc) = 0; return; } [5] 0x18113285a size=6 [6] 0x1804714b0 size=3 [7] 0x1804714b0 size=3 [8] 0x1804727a0 size=3 [9] 0x1804714b0 size=3 [10] 0x1804714b0 size=3 [11] 0x1804714b0 size=3 [12] 0xb5729575b468 (invalid/enc) [13] 0xc2c6f9033f31 (invalid/enc) [14] 0xdb60f3c4de (invalid/enc) [15] 0xab1cb574b45de2 (invalid/enc) [16] 0xd2f04c4cd2f35643 (invalid/enc) [17] 0x5e (invalid/enc) [18] 0x182505548 size=0 [19] 0x18052d3d0 size=52 --- C --- void * .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__ (void *param_1,ulonglong param_2) { FUN_18052c910(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } [20] 0x18052c8f0 size=26 [21] 0x1812c1fb0 size=92 --- C --- undefined8 * .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (longlong *param_1,undefined8 *param_2) { uint uVar1; undefined8 uVar2; uint *_Memory; undefined8 *local_res10 [3]; local_res10[0] = param_2; uVar2 = (**(code **)(*param_1 + 8))(param_1,local_res10); *param_2 = 0; param_2[1] = 0; FUN_18049b000(param_2,uVar2); _Memory = (uint *)(local_res10[0] + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_2; } [22] 0x18052c4a0 size=794 --- C --- /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (longlong *param_1,double param_2,undefined4 param_3) { uint *puVar1; int iVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; char cVar6; uint uVar7; undefined8 *puVar8; code *pcVar9; int iVar10; longlong *plVar11; ulonglong uVar12; ulonglong uVar13; ulonglong uVar14; ulonglong uVar15; ulonglong uVar16; undefined1 auStack_e8 [32]; code *local_c8; undefined4 uStack_c0; undefined4 uStack_bc; undefined8 local_b8; uint *local_b0; undefined1 local_a8 [16]; undefined1 local_98 [16]; undefined **local_88; undefined4 local_80; undefined4 uStack_7c; undefined4 uStack_78; undefined4 uStack_74; longlong *local_70; undefined ***local_50; ulonglong local_48; local_b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; puVar1 = (uint *)(param_1 + 0xab); do { LOCK(); uVar7 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); } while ((uVar7 & 1) != 0); local_b0 = puVar1; if ((*(char *)((longlong)param_1 + 0x554) != '\0') && (param_1[0xb7] != 0)) { plVar11 = (longlong *)(param_1[0xb7] + 0x70); (**(code **)(*plVar11 + 8))(plVar11,param_3,SUB84(param_2,0)); } uVar14 = 0; if ((double)param_1[0x2b] != param_2) { param_1[0xbb] = 0; } param_1[0x2b] = (longlong)param_2; *(undefined4 *)(param_1 + 0x2c) = param_3; cVar6 = (**(code **)(*(longlong *)param_1[0x2d] + 0xe8))(); uVar7 = 0; if (cVar6 != '\0') { local_c8 = FUN_18052f680; uStack_c0 = 0; local_88 = std:: _Func_impl_no_alloc,Soothe2ModuleDecryptor,ParameterStates,float>::*)(void)___ptr64,CloudyAudioProcessor,class_Soothe2ModuleDecryptor,class_ParameterStates,float>*___ptr64>,void> ::vftable; local_80 = 0x8052f680; uStack_7c = 1; uStack_78 = 0; uStack_74 = uStack_bc; local_50 = &local_88; local_70 = param_1; FUN_18113eab0(); FUN_18114b490(&local_88); if (local_50 != (undefined ***)0x0) { (*(code *)(*local_50)[4])(local_50,local_50 != &local_88); } } puVar8 = (undefined8 *)FUN_1812c37c0(param_1,local_a8); if (*(int *)((longlong)puVar8 + 0xc) != 0) { uVar7 = FUN_18123d3f0(*puVar8); } FUN_18047c500(local_98); FUN_18047c500(local_a8); if (uVar7 != *(uint *)((longlong)param_1 + 0x56c)) { plVar11 = param_1 + 0xac; FUN_180531620(plVar11); if ((int)param_1[0xad] != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar11); } *(undefined4 *)(param_1 + 0xad) = 0; if (0 < (int)uVar7) { uVar13 = (ulonglong)uVar7; do { pcVar9 = (code *)FUN_1811316e0(0x28); *(undefined8 *)pcVar9 = 0; *(undefined4 *)(pcVar9 + 8) = 0; *(undefined8 *)(pcVar9 + 0x10) = 0; *(undefined4 *)(pcVar9 + 0x18) = 0; *(undefined8 *)(pcVar9 + 0x20) = 0; local_c8 = pcVar9; FUN_18052bc40(pcVar9,0x10000); iVar2 = *(int *)((longlong)param_1 + 0x56c); iVar10 = iVar2 + 1; if ((int)param_1[0xad] < iVar10) { if (iVar10 < 0) { iVar10 = iVar2 + 2; } FUN_18047cb30(plVar11,iVar2 + 9 + (iVar10 >> 1) & 0xfffffff8); } iVar10 = *(int *)((longlong)param_1 + 0x56c); *(int *)((longlong)param_1 + 0x56c) = iVar10 + 1; *(code **)(*plVar11 + (longlong)iVar10 * 8) = pcVar9; uVar13 = uVar13 - 1; } while (uVar13 != 0); } } (**(code **)(*param_1 + 0x220))(param_1,param_1[0x2b],(int)param_1[0x2c]); puVar8 = (undefined8 *)param_1[0x36]; puVar3 = (undefined8 *)*puVar8; while (puVar3 != puVar8) { FUN_1811c4880(puVar3[5]); puVar4 = (undefined8 *)puVar3[2]; if (*(char *)((longlong)puVar4 + 0x19) == '\0') { cVar6 = *(char *)((longlong)*puVar4 + 0x19); puVar3 = puVar4; puVar4 = (undefined8 *)*puVar4; while (cVar6 == '\0') { cVar6 = *(char *)((longlong)*puVar4 + 0x19); puVar3 = puVar4; puVar4 = (undefined8 *)*puVar4; } } else { cVar6 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar4 = puVar3; while ((puVar3 = puVar5, cVar6 == '\0' && (puVar4 == (undefined8 *)puVar3[2]))) { cVar6 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar4 = puVar3; } } } FUN_1812a77d0(param_1 + 0x60,0x10); puVar8 = (undefined8 *)param_1[0xac]; uVar13 = (ulonglong) ((longlong)(puVar8 + *(int *)((longlong)param_1 + 0x56c)) + (7 - (longlong)puVar8)) >> 3; if (puVar8 + *(int *)((longlong)param_1 + 0x56c) < puVar8) { uVar13 = uVar14; } uVar16 = uVar14; if (uVar13 != 0) { do { puVar3 = (undefined8 *)*puVar8; *puVar3 = 0; uVar12 = uVar14; uVar15 = uVar14; if (0 < *(int *)(puVar3 + 3)) { do { *(undefined4 *)(uVar12 + puVar3[2]) = 0; uVar7 = (int)uVar15 + 1; uVar12 = uVar12 + 4; uVar15 = (ulonglong)uVar7; } while ((int)uVar7 < *(int *)(puVar3 + 3)); } puVar3[4] = puVar3[2]; puVar8 = puVar8 + 1; uVar16 = uVar16 + 1; } while (uVar16 != uVar13); } LOCK(); *puVar1 = 0; UNLOCK(); } [23] 0x1804714b0 size=3 [24] 0x1804714b0 size=3 [25] 0x1812c0b50 size=3 [26] 0x18052bfa0 size=870 --- C --- void .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (longlong *param_1,longlong param_2,undefined8 param_3) { longlong *plVar1; longlong lVar2; char cVar3; int iVar4; uint uVar5; int iVar6; longlong lVar7; uint *puVar8; longlong lVar9; uint *puVar10; uint *puVar11; uint *puVar12; bool bVar13; int local_b0; int local_ac; undefined4 local_a8; undefined8 local_a0; int local_94; undefined1 local_90 [16]; longlong local_80; ulonglong local_78; longlong local_70; undefined4 local_68; undefined4 local_64; uint *local_60; char local_58; undefined8 local_50; local_50 = 0xfffffffffffffffe; local_60 = (uint *)(param_1 + 0xab); LOCK(); bVar13 = (*local_60 & 1) == 0; *local_60 = *local_60 | 1; UNLOCK(); puVar12 = (uint *)0x0; iVar4 = 0; if ((((DAT_1826216ff == '\0') || (DAT_18262170c == '\0')) || (DAT_18262170d == '\0')) || ((DAT_1826216fd == '\0' || (iVar6 = 1, DAT_1826216fe == '\0')))) { iVar6 = iVar4; } local_58 = bVar13; if (((char)iVar6 == '\0') || (cVar3 = (**(code **)(*(longlong *)param_1[0x2d] + 0xe8))(), cVar3 == '\0')) { if (((DAT_1826216ff == '\0') || (((DAT_18262170c == '\0' || (DAT_18262170d == '\0')) || (DAT_1826216fd == '\0')))) || (iVar6 = 1, DAT_1826216fe == '\0')) { iVar6 = iVar4; } if (((char)iVar6 != '\0') || (cVar3 = (**(code **)(*(longlong *)param_1[0x2d] + 0xe8))(), cVar3 != '\0')) goto LAB_18052c0bb; } if (bVar13) { FUN_18052f850(param_1); } LAB_18052c0bb: uVar5 = MXCSR; local_78 = (ulonglong)MXCSR; MXCSR = MXCSR | 0x8040; if ((char)param_1[0xb6] != *(char *)((longlong)param_1 + 0x41)) { *(char *)(param_1 + 0xb6) = *(char *)((longlong)param_1 + 0x41); (**(code **)(*param_1 + 0x230))(param_1); } local_78._0_4_ = uVar5; if (bVar13) { cVar3 = (**(code **)(*(longlong *)param_1[0x2d] + 0xe8))(); if (cVar3 == '\0') { LOCK(); *(undefined1 *)((longlong)param_1 + 0x164) = 0; UNLOCK(); FUN_181198f30(param_1 + 0x2f,0); if ((*(char *)((longlong)param_1 + 0x554) != '\0') && (param_1[0xb7] != 0)) { local_68 = 0; local_64 = *(undefined4 *)(param_2 + 4); plVar1 = (longlong *)(param_1[0xb7] + 0x70); local_70 = param_2; (**(code **)(*plVar1 + 0x18))(plVar1,&local_70); } FUN_1812c37c0(param_1,&local_a0); if (local_94 != 0) { iVar4 = FUN_18123d3f0(local_a0); } iVar6 = *(int *)(param_2 + 4); local_80 = (longlong)iVar4; if (0 < local_80) { puVar8 = puVar12; puVar10 = puVar12; do { lVar2 = *(longlong *)(*(longlong *)(param_2 + 0x10) + (longlong)puVar8 * 8); puVar11 = puVar12; if ((uint)puVar10 < *(uint *)((longlong)param_1 + 0x56c)) { puVar11 = *(uint **)(param_1[0xac] + (longlong)puVar8 * 8); } lVar9 = lVar2; FUN_18052f640(puVar11,&local_b0,iVar6,0,1); lVar7 = (longlong)local_ac; FUN_18052dbc0(*(longlong *)(puVar11 + 8) + (longlong)local_b0 * 4,lVar9,local_ac); FUN_18052dbc0(*(undefined8 *)(puVar11 + 8),lVar2 + lVar7 * 4,local_a8); uVar5 = *puVar11 + iVar6 & puVar11[2] - 1; if ((int)uVar5 < 0) { uVar5 = uVar5 + puVar11[2]; } *puVar11 = uVar5; puVar10 = (uint *)(ulonglong)((uint)puVar10 + 1); puVar8 = (uint *)((longlong)puVar8 + 1); } while ((longlong)puVar8 < local_80); } FUN_18047c500(local_90); FUN_18047c500(&local_a0); (**(code **)(*param_1 + 0x228))(param_1,param_2,param_3); if ((*(char *)((longlong)param_1 + 0x554) != '\0') && (param_1[0xb7] != 0)) { FUN_18052fc90(param_2,*(undefined4 *)(param_1[0xb7] + 0x48)); } param_1[0xbb] = param_1[0xbb] + (longlong)*(int *)(param_2 + 4); } else { (**(code **)(*param_1 + 0x48))(param_1,param_2,param_3); FUN_18052fc90(param_2,0); local_58 = bVar13; } } else { (**(code **)(*param_1 + 0x48))(param_1,param_2,param_3); local_58 = bVar13; } MXCSR = (uint)local_78; if (local_58 != '\0') { LOCK(); *local_60 = 0; UNLOCK(); } return; } [27] 0x1812c0b60 size=152 --- C --- void .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (longlong param_1,longlong param_2) { int iVar1; longlong lVar2; if ((*(int *)(param_1 + 0xdc) == 0) || (**(longlong **)(param_1 + 0xd0) == 0)) { iVar1 = 0; } else { iVar1 = *(int *)(**(longlong **)(param_1 + 0xd0) + 0x8c); } if (iVar1 < *(int *)(param_1 + 0x104)) { lVar2 = (longlong)iVar1 * 8; do { if (*(char *)(param_2 + 0x120) == '\0') { memset(*(void **)(*(longlong *)(param_2 + 0x10) + lVar2),0, (longlong)*(int *)(param_2 + 4) << 3); } iVar1 = iVar1 + 1; lVar2 = lVar2 + 8; } while (iVar1 < *(int *)(param_1 + 0x104)); } return; } [28] 0x18052bdf0 size=432 --- C --- void .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__ (longlong param_1,longlong param_2) { int iVar1; int iVar2; longlong lVar3; int iVar4; uint uVar5; uint *puVar6; longlong lVar7; longlong lVar8; uint uVar9; longlong lVar10; int local_78; int local_74; undefined4 local_70; int local_68; int local_64; undefined4 local_60; undefined8 local_58; int local_4c; undefined1 local_48 [16]; LOCK(); *(undefined1 *)(param_1 + 0x164) = 1; UNLOCK(); FUN_1812c37c0(param_1,&local_58); if (local_4c == 0) { iVar4 = 0; } else { iVar4 = FUN_18123d3f0(local_58); } iVar1 = *(int *)(param_1 + 0x3c); uVar9 = 0; iVar2 = *(int *)(param_2 + 4); lVar10 = 0; if (0 < (longlong)iVar4) { do { LOCK(); *(undefined1 *)(param_2 + 0x120) = 0; UNLOCK(); lVar3 = *(longlong *)(*(longlong *)(param_2 + 0x10) + lVar10 * 8); if (uVar9 < *(uint *)(param_1 + 0x56c)) { puVar6 = *(uint **)(*(longlong *)(param_1 + 0x560) + lVar10 * 8); } else { puVar6 = (uint *)0x0; } FUN_18052f640(puVar6,&local_78,iVar2,0,1); lVar7 = (longlong)local_74; FUN_18052dbc0(*(longlong *)(puVar6 + 8) + (longlong)local_78 * 4,lVar3,local_74); FUN_18052dbc0(*(undefined8 *)(puVar6 + 8),lVar3 + lVar7 * 4,local_70); uVar5 = *puVar6 + iVar2 & puVar6[2] - 1; if ((int)uVar5 < 0) { uVar5 = uVar5 + puVar6[2]; } *puVar6 = uVar5; if (uVar9 < *(uint *)(param_1 + 0x56c)) { lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x560) + lVar10 * 8); } else { lVar7 = 0; } FUN_18052f640(lVar7,&local_68,iVar2,-(iVar1 + iVar2),1); lVar8 = (longlong)local_64; FUN_18052dbc0(lVar3,*(longlong *)(lVar7 + 0x20) + (longlong)local_68 * 4,local_64); FUN_18052dbc0(lVar3 + lVar8 * 4,*(undefined8 *)(lVar7 + 0x20),local_60); uVar9 = uVar9 + 1; lVar10 = lVar10 + 1; } while (lVar10 < iVar4); } FUN_18047c500(local_48); FUN_18047c500(&local_58); return; } [29] 0x1804731c0 size=3 [30] 0x1804731c0 size=3 [31] 0x1812c0b40 size=3 [32] 0x18113285a size=6 [33] 0x1804731c0 size=3 [34] 0x1804731c0 size=3 [35] 0x1804731c0 size=3 [36] 0x1804731c0 size=3 [37] 0x1812c0ca0 size=3 [38] 0x1804727a0 size=3 [39] 0x1812c0df0 size=4 [40] 0x18113285a size=6 [41] 0x180484870 size=3 [42] 0x1812c0cc0 size=3 [43] 0x18052c8d0 size=18 [44] 0x18052c8c0 size=16 [45] 0x18052c880 size=49 --- C --- void .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__ (longlong param_1,uint param_2) { if (*(int *)(param_1 + 8) != 3) { return; } if (param_2 < *(uint *)(param_1 + 0x444)) { FUN_18115d300(param_1 + 0x400, *(undefined8 *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)param_2 * 8)); return; } FUN_18115d300(param_1 + 0x400,0); return; } [46] 0x18052c7f0 size=141 --- C --- undefined8 * .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__ (longlong param_1,undefined8 *param_2,uint param_3) { longlong *plVar1; undefined8 *puVar2; longlong local_res8 [4]; if ((*(int *)(param_1 + 8) == 3) && (param_3 < *(uint *)(param_1 + 0x444))) { plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x438) + (longlong)(int)param_3 * 8); if (plVar1 != (longlong *)0x0) { if ((undefined **)*plVar1 == Preset::vftable) { local_res8[0] = plVar1[2]; FUN_18049c9e0(param_2,local_res8[0]); return param_2; } puVar2 = (undefined8 *)(*(code *)((undefined **)*plVar1)[4])(plVar1,local_res8); FUN_18049c9e0(param_2,*puVar2); return param_2; } } *param_2 = &DAT_1821dbf98; return param_2; } [47] 0x1804714b0 size=3 [48] 0x18052bde0 size=15 [49] 0x1812bfff0 size=10 [50] 0x18052bdd0 size=15 [51] 0x1812bffb0 size=55 --- C --- void FUN_1812bffb0(longlong *param_1,undefined8 param_2,int param_3) { if (*(code **)(*param_1 + 0xf8) == FUN_18052bdd0) { FUN_1811fc760(param_1 + 0x67,param_2,(longlong)param_3); return; } (**(code **)(*param_1 + 0xf8))(); return; } [52] 0x1812c0e20 size=3 [53] 0x1812c0e10 size=3 [54] 0x18052c490 size=14 [55] 0x1812c1130 size=139 --- C --- void FUN_1812c1130(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x74)); plVar3 = *(longlong **)(param_1 + 0x18); iVar2 = *(int *)(param_1 + 0x24); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) goto LAB_1812c11a1; } if (*(int *)(param_1 + 0x20) < iVar2 + 1) { FUN_18047cb30(param_1 + 0x18,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x24); *(int *)(param_1 + 0x24) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x18) + (longlong)iVar2 * 8) = param_2; LAB_1812c11a1: /* WARNING: Could not recover jumptable at 0x0001812c11b4. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x74)); return; } [56] 0x1812c1070 size=180 --- C --- void FUN_1812c1070(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; int iVar3; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x74)); iVar1 = *(int *)(param_1 + 0x24); iVar3 = 0; lVar2 = 0; if (0 < iVar1) { do { if (param_2 == *(longlong *)(*(longlong *)(param_1 + 0x18) + lVar2 * 8)) { _Dst = (void *)(*(longlong *)(param_1 + 0x18) + (longlong)iVar3 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar3) + -1) << 3); *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + -1; iVar1 = *(int *)(param_1 + 0x24); iVar3 = 0; if (0 < iVar1 * 2) { iVar3 = iVar1 * 2; } if (iVar3 < *(int *)(param_1 + 0x20)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x20)) { FUN_18047cb30(param_1 + 0x18); } } break; } iVar3 = iVar3 + 1; lVar2 = lVar2 + 1; } while (lVar2 < iVar1); } /* WARNING: Could not recover jumptable at 0x0001812c111d. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x74)); return; } [57] 0x1812c11d0 size=5 [58] 0x1812bf000 size=137 --- C --- void FUN_1812bf000(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4) { undefined1 auStack_b8 [32]; undefined1 local_98; void *local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; undefined8 local_48; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_b8; local_50 = 4; local_48 = 0xffffffff; local_68 = (void *)0x0; local_60 = 0; local_58 = 0; local_98 = param_4; FUN_18123c5f0(param_2,&local_68); /* WARNING: Subroutine does not return */ free(local_68); } [59] 0x1804d7000 size=33 [60] 0x1812bffa0 size=3 [61] 0x18052c310 size=339 --- C --- /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018052c3fa) */ /* WARNING: Removing unreachable block (ram,0x00018052c3ff) */ /* WARNING: Removing unreachable block (ram,0x00018052c40a) */ /* WARNING: Removing unreachable block (ram,0x00018052c40f) */ /* WARNING: Removing unreachable block (ram,0x00018052c413) */ /* WARNING: Removing unreachable block (ram,0x00018052c3d6) */ void FUN_18052c310(undefined8 param_1,longlong param_2) { int iVar1; undefined1 auStack_d8 [32]; undefined4 local_b8; void *local_b0 [5]; undefined1 local_88 [40]; void *local_60 [5]; void *local_38 [5]; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_d8; local_b8 = 0; FUN_18124a040(local_88,8); FUN_1804db6f0(param_2 + 0x10,local_b0,0); iVar1 = FUN_18123c5f0(local_b0,local_88); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(local_b0[0]); } FUN_18124a040(local_38,6); FUN_1804db6f0(param_2 + 0x10,local_60,0); FUN_18123c5f0(local_60,local_38); /* WARNING: Subroutine does not return */ free(local_60[0]); } [62] 0x1804d7030 size=10 [63] 0x1812c0230 size=525 --- C --- /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812c0230(longlong param_1,longlong param_2) { bool bVar1; char cVar2; int iVar3; longlong lVar4; undefined8 uVar5; undefined1 auStack_98 [32]; int local_78; int local_74; int local_70; void *local_68 [2]; undefined1 local_58 [24]; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_98; lVar4 = FUN_1812c37c0(param_1,local_68); cVar2 = FUN_1804df970(param_2,lVar4); if ((cVar2 == '\0') || (cVar2 = FUN_1804df970(param_2 + 0x10,lVar4 + 0x10), cVar2 == '\0')) { bVar1 = false; } else { bVar1 = true; } FUN_18047c500(local_58); FUN_18047c500(local_68); if (!bVar1) { local_74 = *(int *)(param_1 + 0x100); local_78 = *(int *)(param_1 + 0xec); local_70 = *(int *)(param_1 + 0x104); if ((*(int *)(param_2 + 0xc) == *(int *)(param_1 + 0xdc)) && (*(int *)(param_2 + 0x1c) == local_78)) { if (0 < *(int *)(param_1 + 0xdc)) { if (*(int *)(param_1 + 0xdc) == 0) { lVar4 = 0; } else { lVar4 = **(longlong **)(param_1 + 0xd0); } FUN_1804db6f0(param_2,local_68,0); FUN_18123d980(lVar4 + 0x10,local_68); iVar3 = FUN_18123d3f0(local_68); if (iVar3 != 0) { FUN_18123d980(lVar4 + 0x60,local_68); } FUN_18123d3f0(local_68); /* WARNING: Subroutine does not return */ free(local_68[0]); } if (0 < local_78) { if (*(int *)(param_1 + 0xec) == 0) { lVar4 = 0; } else { lVar4 = **(longlong **)(param_1 + 0xe0); } FUN_1804db6f0(param_2 + 0x10,local_68,0); FUN_18123d980(lVar4 + 0x10,local_68); iVar3 = FUN_18123d3f0(local_68); if (iVar3 != 0) { FUN_18123d980(lVar4 + 0x60,local_68); } FUN_18123d3f0(local_68); /* WARNING: Subroutine does not return */ free(local_68[0]); } if ((local_74 == 0) && (local_70 == 0)) { uVar5 = 0; } else { uVar5 = 1; } FUN_1812c0000(param_1,0,uVar5); } } } ############ VTABLE 0x1824ac7a8 (64 slots) ############ [0] 0x18052fd40 size=38 [1] 0x18052cfb0 size=61 --- C --- void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(longlong param_1) { FUN_1812b4430(param_1 + 0x14,0,2); *(float *)(param_1 + 0x58) = (float)(DAT_1824c4230 / (double)*(float *)(param_1 + 0x24)); return; } [2] 0x180529550 size=191 --- C --- void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong *param_1,undefined4 param_2,undefined4 *param_3,int param_4) { int *piVar1; longlong lVar2; uint *puVar3; lVar2 = (longlong)param_4; puVar3 = (uint *)(param_1 + (lVar2 + 9) * 8); *(undefined4 *)(*(longlong *)(puVar3 + 8) + (longlong)(int)*puVar3 * 4) = *param_3; *puVar3 = puVar3[2] - 1 & *puVar3 + 1; puVar3 = (uint *)(param_1 + (lVar2 + 7) * 8); *(undefined4 *)(*(longlong *)(puVar3 + 8) + (longlong)(int)*puVar3 * 4) = param_2; *puVar3 = puVar3[2] - 1 & *puVar3 + 1; piVar1 = (int *)((longlong)param_1 + lVar2 * 4 + 0x3c0); *piVar1 = *piVar1 + 1; if ((*(int *)((longlong)param_1 + lVar2 * 4 + 0x3c0) == (int)param_1[0x79] / 2) && (param_4 == 0)) { (**(code **)(*param_1 + 0x38))(param_1); } if (*(int *)((longlong)param_1 + lVar2 * 4 + 0x3c0) == (int)param_1[0x79]) { *(undefined4 *)((longlong)param_1 + lVar2 * 4 + 0x3c0) = 0; FUN_1805300f0(param_1,param_4); } return; } [3] 0x1804714b0 size=3 [4] 0x18052ce00 size=98 --- C --- void .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(longlong param_1) { float fVar1; .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__(); fVar1 = *(float *)(param_1 + 0x3fc); *(float *)(param_1 + 0x3fc) = *(float *)(param_1 + 0x24); if (fVar1 != *(float *)(param_1 + 0x24)) { (**(code **)(*(longlong *)(param_1 + 0x3d8) + 0x20))((longlong *)(param_1 + 0x3d8)); } *(undefined4 *)(param_1 + 0x240458) = 4; *(undefined4 *)(param_1 + 0x240467) = 0x1010101; *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; return; } [5] 0x1804714b0 size=3 [6] 0x1804714b0 size=3 [7] 0x1804714b0 size=3 [8] 0x1804727a0 size=3 [9] 0x1804714b0 size=3 [10] 0x1804714b0 size=3 [11] 0x1804714b0 size=3 [12] 0x1804714b0 size=3 [13] 0x1804714b0 size=3 [14] 0x1804714b0 size=3 [15] 0x1804714b0 size=3 [16] 0x1804714b0 size=3 [17] 0x1804714b0 size=3 [18] 0x1804714b0 size=3 [19] 0x1804714b0 size=3 [20] 0x1804714b0 size=3 [21] 0x1804714b0 size=3 [22] 0x1804714b0 size=3 [23] 0x1804714b0 size=3 [24] 0x18052cec0 size=88 --- C --- void .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(longlong param_1) { int iVar1; iVar1 = *(int *)(param_1 + 0x2404cc); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)(param_1 + 0x2404cc) <= iVar1) && (iVar1 = *(int *)(param_1 + 0x2404cc) + -1, iVar1 < 0)) break; FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 0x2404c0) + (longlong)iVar1 * 8)); } return; } [25] 0x18052ce90 size=48 --- C --- undefined1 .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(longlong param_1) { if ((*(char *)(param_1 + 0x240464) != '\0') && (*(char *)(param_1 + 0x240464) != '\0')) { *(undefined1 *)(param_1 + 0x240464) = 0; FUN_18052fbd0(); } return 0; } [26] 0x18052ce80 size=14 [27] 0x1804727a0 size=3 [28] 0x18052ce70 size=9 [29] 0x180484870 size=3 [30] 0x1804714b0 size=3 [31] 0x1804714b0 size=3 [32] 0x44cfb42858ddbe60 (invalid/enc) [33] 0x7955c8b128 (invalid/enc) [34] 0x182507b08 size=0 [35] 0x180546620 size=62 --- C --- undefined8 * .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (undefined8 *param_1,ulonglong param_2) { *param_1 = juce::WindowsMediaAudioFormat::vftable; FUN_1813affa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } [36] 0x1813afeb0 size=43 --- C --- undefined8 * .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (longlong param_1,undefined8 *param_2) { *param_2 = 0; param_2[1] = 0; FUN_18048c4c0(param_2,*(undefined8 *)(param_1 + 0x10),*(undefined4 *)(param_1 + 0x1c)); return param_2; } [37] 0x1813afef0 size=130 --- C --- void .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; char cVar2; undefined8 *puVar3; undefined8 *local_20; int local_14; (**(code **)(*param_1 + 8))(param_1,&local_20,param_3,param_4,0xfffffffffffffffe); puVar1 = local_20 + local_14; puVar3 = local_20; while( true ) { if (puVar3 == puVar1) { FUN_180488c50(&local_20); /* WARNING: Subroutine does not return */ free(local_20); } cVar2 = FUN_18123fe10(param_2,*puVar3); if (cVar2 != '\0') break; puVar3 = puVar3 + 1; } FUN_180488c50(&local_20); /* WARNING: Subroutine does not return */ free(local_20); } [38] 0x18136cc80 size=13 [39] 0x18136cc60 size=13 [40] 0x18136cc50 size=3 [41] 0x18136cc40 size=3 [42] 0x18136cc30 size=3 [43] 0x1813afd80 size=80 --- C --- void .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (undefined8 param_1,undefined8 param_2) { undefined1 auStack_58 [32]; void *local_38 [5]; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; FUN_18124a040(local_38,8); FUN_18123c5f0(param_2,local_38); /* WARNING: Subroutine does not return */ free(local_38[0]); } [44] 0x1813afe80 size=13 [45] 0x18136cbb0 size=108 --- C --- undefined8 * .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; uVar1 = FUN_1811316e0(0x90,param_2,param_3,param_4,0xfffffffffffffffe); puVar2 = (undefined8 *)FUN_180545be0(uVar1,param_2); if ((double)puVar2[1] <= 0.0) { if ((char)param_3 == '\0') { puVar2[10] = 0; } (**(code **)*puVar2)(puVar2,1); puVar2 = (undefined8 *)0x0; } return puVar2; } [46] 0x1813afe40 size=32 [47] 0x1813afe70 size=3 [48] 0x1813afcf0 size=132 --- C --- undefined8 FUN_1813afcf0(longlong *param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4, undefined4 param_5,undefined8 param_6,undefined4 param_7) { char cVar1; undefined4 uVar2; undefined8 uVar3; cVar1 = (**(code **)(*param_1 + 0x40))(param_1,param_4); if (cVar1 == '\0') { uVar3 = 0; } else { uVar2 = FUN_18123d3f0(param_4); uVar3 = (**(code **)(*param_1 + 0x70))(param_1,param_2,param_3,uVar2,param_5,param_6,param_7); } return uVar3; } [49] 0x18136cba0 size=3 [50] 0x1825080a8 size=0 [51] 0x18053e010 size=47 --- C --- void FUN_18053e010(undefined8 *param_1) { *param_1 = juce::OggReader::vftable; FUN_181371350(param_1 + 0xc); /* WARNING: Subroutine does not return */ free((void *)param_1[0x7c]); } [52] 0x1813af190 size=138 --- C --- void FUN_1813af190(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4, undefined4 *param_5,undefined4 *param_6,undefined4 *param_7) { if (*(uint *)(param_1 + 4) < 2) { (**(code **)(*param_1 + 0x10))(); } else { (**(code **)(*param_1 + 0x10))(); } *param_4 = 0; *param_5 = 0; *param_6 = 0; *param_7 = 0; return; } [53] 0x1813af220 size=771 --- C --- void FUN_1813af220(longlong *param_1,longlong param_2,ulonglong param_3,longlong param_4,int param_5 ) { float fVar1; int iVar2; ulonglong uVar3; bool bVar4; int iVar5; float fVar6; char cVar7; longlong lVar8; float *pfVar9; int iVar10; longlong lVar11; longlong lVar12; int iVar13; int iVar14; int *piVar15; undefined8 *puVar16; longlong lVar17; undefined8 *puVar18; float fVar19; float fVar20; float local_1c4; float local_1c0; float local_1bc; float local_1b8; float local_1b4; float fStack_1b0; undefined8 *local_1a8; longlong local_1a0; ulonglong local_198; undefined8 local_190; undefined1 local_188 [16]; undefined8 *local_178; void *local_170; undefined1 local_68; local_190 = 0xfffffffffffffffe; lVar11 = (longlong)param_5; if ((longlong)param_3 < 1) { lVar8 = 0; if (0 < param_5) { do { *(undefined8 *)(param_4 + lVar8 * 8) = 0; lVar8 = lVar8 + 1; } while (lVar8 < lVar11); } return; } iVar10 = (int)param_3; if (0x1000 < (longlong)param_3) { iVar10 = 0x1000; } local_1a0 = lVar11; FUN_180535db0(local_188,lVar11,iVar10); fVar6 = DAT_1824c3c28; LOCK(); local_68 = 0; UNLOCK(); local_1a8 = local_178; bVar4 = true; local_198 = (ulonglong)iVar10; puVar16 = local_178; do { uVar3 = param_3; if ((longlong)local_198 < (longlong)param_3) { uVar3 = local_198; } iVar13 = (int)uVar3; lVar17 = (longlong)iVar13; lVar8 = param_2; iVar10 = iVar13; iVar14 = 0; if (param_2 < 0) { lVar8 = lVar11; iVar14 = (int)-param_2; if (lVar17 < -param_2) { iVar14 = iVar13; } while (lVar8 = lVar8 + -1, -1 < lVar8) { if ((void *)puVar16[lVar8] != (void *)0x0) { memset((void *)puVar16[lVar8],0,(longlong)iVar14 << 2); } } iVar10 = iVar13 - iVar14; lVar8 = 0; } if (0 < iVar10) { iVar5 = (int)param_1[4]; if (param_5 < (int)param_1[4]) { iVar5 = param_5; } cVar7 = (**(code **)(*param_1 + 0x20))(param_1,puVar16,iVar5,iVar14,lVar8,iVar10); if (cVar7 == '\0') break; lVar8 = (longlong)(int)param_1[4]; if ((int)param_1[4] < param_5) { for (; lVar8 < lVar11; lVar8 = lVar8 + 1) { if ((void *)puVar16[lVar8] != (void *)0x0) { memset((void *)puVar16[lVar8],0,lVar17 * 4); } } } } puVar18 = puVar16; lVar8 = lVar11; if (0 < lVar11) { lVar12 = param_4 - (longlong)puVar16; do { if (*(char *)((longlong)param_1 + 0x24) == '\0') { piVar15 = (int *)*puVar16; if (iVar13 < 1) { iVar10 = 0; iVar14 = 0; } else { iVar10 = *piVar15; iVar14 = iVar10; iVar5 = iVar13; while (iVar5 = iVar5 + -1, 0 < iVar5) { piVar15 = piVar15 + 1; iVar2 = *piVar15; if (iVar10 < iVar2) { iVar10 = iVar2; } if (iVar2 < iVar14) { iVar14 = iVar2; } } } fVar20 = (float)iVar10 * fVar6; fVar19 = (float)iVar14 * fVar6; if (fVar20 <= fVar19) { fVar20 = fVar19; } } else { FUN_1804d5400(&local_1bc,*puVar16,uVar3 & 0xffffffff); fVar19 = local_1bc; fVar20 = local_1b8; } if (bVar4) { local_1b4 = fVar19; fStack_1b0 = fVar20; pfVar9 = &local_1b4; } else { fVar1 = *(float *)(lVar12 + 4 + (longlong)puVar16); if (fVar20 <= fVar1) { fVar20 = fVar1; } if (*(float *)(lVar12 + (longlong)puVar16) <= fVar19) { fVar19 = *(float *)(lVar12 + (longlong)puVar16); } local_1c4 = fVar19; if (fVar20 <= fVar19) { local_1c0 = fVar19; } else { local_1c0 = fVar20; } pfVar9 = &local_1c4; } *(undefined8 *)(lVar12 + (longlong)puVar16) = *(undefined8 *)pfVar9; puVar16 = puVar16 + 1; lVar11 = lVar11 + -1; puVar18 = local_1a8; lVar8 = local_1a0; } while (lVar11 != 0); } bVar4 = false; param_3 = param_3 - lVar17; param_2 = param_2 + lVar17; puVar16 = puVar18; lVar11 = lVar8; } while (0 < (longlong)param_3); /* WARNING: Subroutine does not return */ free(local_170); } [54] 0x1813af160 size=29 [55] 0x18053dba0 size=990 --- C --- undefined8 FUN_18053dba0(longlong param_1,longlong param_2,int param_3,int param_4,longlong param_5,int param_6 ) { undefined4 uVar1; int iVar2; int iVar3; int iVar4; longlong lVar5; longlong lVar6; int iVar7; int iVar8; int local_res20; longlong local_48; iVar4 = param_6; local_res20 = param_4; if (param_6 < 1) { return 1; } do { iVar2 = (*(int *)(param_1 + 0x4f4) - (int)param_5) + *(int *)(param_1 + 0x4f0); if ((*(int *)(param_1 + 0x4f0) <= param_5) && (0 < iVar2)) { iVar8 = iVar4; if (iVar2 < iVar4) { iVar8 = iVar2; } iVar2 = param_3; if (*(int *)(param_1 + 0x3c8) < param_3) { iVar2 = *(int *)(param_1 + 0x3c8); } iVar2 = iVar2 + -1; if (-1 < iVar2) { lVar5 = (longlong)iVar2 * 8; do { if (*(longlong *)(lVar5 + param_2) != 0) { memcpy((void *)(*(longlong *)(lVar5 + param_2) + (longlong)local_res20 * 4), (void *)(*(longlong *)(*(longlong *)(param_1 + 0x3d8) + lVar5) + (longlong)((int)param_5 - *(int *)(param_1 + 0x4f0)) * 4), (longlong)iVar8 << 2); } lVar5 = lVar5 + -8; iVar2 = iVar2 + -1; iVar4 = param_6; } while (-1 < iVar2); } iVar4 = iVar4 - iVar8; param_5 = param_5 + iVar8; local_res20 = local_res20 + iVar8; param_6 = iVar4; if (iVar4 == 0) { return 1; } } if ((param_5 < *(int *)(param_1 + 0x4f0)) || ((longlong)(*(int *)(param_1 + 0x4f0) + *(int *)(param_1 + 0x4f4)) < iVar4 + param_5)) { *(undefined4 *)(param_1 + 0x4f4) = *(undefined4 *)(param_1 + 0x3cc); iVar2 = -0x83; iVar8 = 0; if (0 < (int)param_5) { iVar8 = (int)param_5; } *(int *)(param_1 + 0x4f0) = iVar8; if (1 < *(int *)(param_1 + 0xe0)) { iVar2 = (int)*(undefined8 *)(param_1 + 0xd8); } if (iVar8 != iVar2) { FUN_18136fc00(param_1 + 0x60); } iVar8 = 0; for (iVar2 = *(int *)(param_1 + 0x4f4); 0 < iVar2; iVar2 = iVar2 - iVar7) { local_48 = 0; iVar4 = param_6; if (*(int *)(param_1 + 0xe0) < 2) { LAB_18053deb3: if ((0 < iVar2) && (*(char *)(param_1 + 0x4e8) == '\0')) { if ((iVar8 == 0) && (iVar2 == *(int *)(param_1 + 0x3cc))) { LOCK(); *(undefined1 *)(param_1 + 0x4e8) = 1; UNLOCK(); } iVar7 = 0; if (0 < *(int *)(param_1 + 0x3c8)) { lVar5 = 0; do { memset((void *)(*(longlong *)(*(longlong *)(param_1 + 0x3d8) + lVar5) + (longlong)iVar8 * 4),0,(longlong)iVar2 << 2); iVar7 = iVar7 + 1; lVar5 = lVar5 + 8; } while (iVar7 < *(int *)(param_1 + 0x3c8)); } } break; } do { if (*(int *)(param_1 + 0xe0) == 4) { lVar5 = *(longlong *)(param_1 + 0x280); if ((-1 < *(int *)(param_1 + 0x2a0)) && (*(int *)(param_1 + 0x2a0) < *(int *)(param_1 + 0x29c))) { iVar7 = 0; if (0 < *(int *)(lVar5 + 4)) { lVar6 = 0; do { iVar7 = iVar7 + 1; *(longlong *)(lVar6 + *(longlong *)(param_1 + 0x290)) = *(longlong *)(*(longlong *)(param_1 + 0x288) + -8 + lVar6 + 8) + (longlong)*(int *)(param_1 + 0x2a0) * 4; lVar6 = lVar6 + 8; } while (iVar7 < *(int *)(lVar5 + 4)); } iVar7 = *(int *)(param_1 + 0x29c) - *(int *)(param_1 + 0x2a0); if (iVar7 != 0) { if (iVar2 < iVar7) { iVar7 = iVar2; } uVar1 = *(undefined4 *)(*(longlong *)(*(longlong *)(param_1 + 200) + 0x20) + 0x1668) ; if ((iVar7 == 0) || (*(int *)(param_1 + 0x2a0) + iVar7 <= *(int *)(param_1 + 0x29c)) ) { *(int *)(param_1 + 0x2a0) = *(int *)(param_1 + 0x2a0) + iVar7; } *(longlong *)(param_1 + 0xd8) = *(longlong *)(param_1 + 0xd8) + (longlong)(iVar7 << ((byte)uVar1 & 0x1f)); local_48 = *(longlong *)(param_1 + 0x290); break; } } } iVar7 = FUN_181371870(param_1 + 0x60); if (iVar7 == -2) goto LAB_18053deb3; } while (0 < iVar7); if (iVar7 < 1) goto LAB_18053deb3; iVar3 = *(int *)(param_1 + 0x20); if (*(int *)(param_1 + 0x3c8) < *(int *)(param_1 + 0x20)) { iVar3 = *(int *)(param_1 + 0x3c8); } lVar5 = (longlong)(iVar3 + -1); if (-1 < iVar3 + -1) { do { LOCK(); *(undefined1 *)(param_1 + 0x4e8) = 0; UNLOCK(); memcpy((void *)(*(longlong *)(*(longlong *)(param_1 + 0x3d8) + lVar5 * 8) + (longlong)iVar8 * 4),*(void **)(local_48 + lVar5 * 8), (longlong)iVar7 << 2); lVar5 = lVar5 + -1; } while (-1 < lVar5); } iVar8 = iVar8 + iVar7; } } if (iVar4 < 1) { return 1; } } while( true ); } [56] 0x182507300 size=0 [57] 0x1805386e0 size=120 --- C --- undefined8 * FUN_1805386e0(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::AudioFormatReaderSource::vftable; if (*(char *)(param_1 + 2) == '\0') { param_1[1] = 0; } else { puVar1 = (undefined8 *)param_1[1]; param_1[1] = 0; if (puVar1 == (undefined8 *)0x0) goto LAB_180538737; (**(code **)*puVar1)(puVar1,1); } puVar1 = (undefined8 *)param_1[1]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } LAB_180538737: if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } [58] 0x1813aed50 size=3 [59] 0x1813aed40 size=3 [60] 0x1813aec40 size=242 --- C --- void FUN_1813aec40(longlong param_1,undefined8 *param_2) { longlong lVar1; longlong lVar2; longlong lVar3; longlong lVar4; ulonglong uVar5; int iVar6; iVar6 = *(int *)((longlong)param_2 + 0xc); if (0 < iVar6) { lVar1 = *(longlong *)(param_1 + 0x18); lVar2 = *(longlong *)(param_1 + 8); if (*(char *)(param_1 + 0x20) != '\0') { lVar3 = *(longlong *)(lVar2 + 0x18); lVar4 = lVar1 % lVar3; uVar5 = (lVar1 + iVar6) % lVar3; if (lVar4 < (longlong)uVar5) { FUN_1813af530(lVar2,*param_2,*(undefined4 *)(param_2 + 1),(int)uVar5 - (int)lVar4,lVar4); *(ulonglong *)(param_1 + 0x18) = uVar5; return; } iVar6 = (int)lVar3 - (int)lVar4; FUN_1813af530(lVar2,*param_2,*(undefined4 *)(param_2 + 1),iVar6,lVar4); FUN_1813af530(*(undefined8 *)(param_1 + 8),*param_2,*(int *)(param_2 + 1) + iVar6, uVar5 & 0xffffffff,0); *(ulonglong *)(param_1 + 0x18) = uVar5; return; } FUN_1813af530(lVar2,*param_2,*(undefined4 *)(param_2 + 1),(longlong)iVar6,lVar1); *(longlong *)(param_1 + 0x18) = *(longlong *)(param_1 + 0x18) + (longlong)*(int *)((longlong)param_2 + 0xc); } return; } [61] 0x1813aed90 size=5 [62] 0x1813aed60 size=24 [63] 0x1813aeda0 size=9 ############ VTABLE 0x1824ab7c0 (64 slots) ############ [0] 0x1805384a8 size=12 [1] 0x18052bd00 size=189 --- C --- /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (longlong param_1,undefined8 param_2,undefined8 *param_3) { uint *_Memory; uint uVar1; undefined1 uVar2; int iVar3; undefined1 auStack_58 [32]; longlong local_38; undefined8 local_30; undefined8 *local_28; ulonglong local_20; local_30 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_58; local_38 = *(longlong *)(param_1 + 0x478); _Memory = (uint *)(local_38 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_28 = param_3; iVar3 = FUN_18048cbc0(param_2,local_38); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar3 == 0) { uVar2 = FUN_180528b30(param_1 + 0x470); *(undefined1 *)(param_1 + 0x404) = uVar2; } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } [2] 0x182507040 size=0 [3] 0x180536b60 size=22 [4] 0x180536b60 size=22 [5] 0x1805379a0 size=104 --- C --- void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (longlong param_1,undefined4 *param_2) { uint uVar1; longlong lVar2; longlong lVar3; longlong lVar4; uVar1 = *(uint *)(param_1 + 8); lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x10) + 0x168); lVar3 = lVar2 + 0x3d8; if (uVar1 < *(uint *)(lVar2 + 0x444)) { lVar4 = *(longlong *)(*(longlong *)(lVar2 + 0x438) + (longlong)(int)uVar1 * 8); } else { lVar4 = 0; } *(undefined4 *)(lVar4 + 0x80c) = *param_2; if ((int)uVar1 < 0) { *(undefined4 *)(lVar2 + 0x240467) = 0x1010101; *(undefined4 *)(lVar2 + 0x24046b) = 0x1010101; FUN_18052fc30(lVar3); return; } *(undefined1 *)((longlong)(int)uVar1 + 0x24008f + lVar3) = 1; FUN_18052fc30(lVar3); return; } [6] 0x180536b50 size=8 [7] 0x18048dc80 size=15 [8] 0x180481210 size=5 [9] 0x891a (invalid/enc) [10] 0x182505588 size=0 [11] 0x180536850 size=22 [12] 0x180536850 size=22 [13] 0x180537e90 size=150 --- C --- void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (longlong param_1,float *param_2) { longlong lVar1; char cVar2; int iVar3; iVar3 = (int)*param_2; if ((*(char *)(*(longlong *)(param_1 + 8) + 0x41) != '\0') && (cVar2 = FUN_180528d50(), cVar2 != '\0')) { return; } lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x168); *(undefined1 *)(lVar1 + 0x3cc) = 1; *(undefined1 *)(lVar1 + 0x1b6) = 1; if (iVar3 == 1) { *(undefined4 *)(lVar1 + 0x1ac) = 4; } else if (iVar3 == 2) { *(undefined4 *)(lVar1 + 0x1ac) = 8; } else if (iVar3 == 3) { *(undefined4 *)(lVar1 + 0x1ac) = 0x10; } else { *(undefined4 *)(lVar1 + 0x1ac) = 2; } (**(code **)(**(longlong **)(*(longlong *)(param_1 + 8) + 0x168) + 0x20))(); return; } [14] 0x180536840 size=8 [15] 0x18048db00 size=15 [16] 0x180481210 size=5 [17] 0x182506590 size=0 [18] 0x180536f20 size=14 [19] 0x180536f20 size=14 [20] 0x180537290 size=41 --- C --- undefined8 .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (undefined8 param_1,undefined8 param_2,float *param_3) { FUN_1812339a0(param_2,(double)*param_3,1); return param_2; } [21] 0x180536f10 size=8 [22] 0x18048db00 size=15 [23] 0x180481210 size=5 [24] 0x182505910 size=0 [25] 0x180536610 size=30 [26] 0x180536610 size=30 [27] 0x1805380e0 size=35 [28] 0x180536600 size=8 [29] 0x1805365f0 size=15 [30] 0x180481210 size=5 [31] 0x182504cd0 size=0 [32] 0x180536d60 size=22 [33] 0x180536d60 size=22 [34] 0x1805375e0 size=73 --- C --- void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (longlong param_1,undefined4 *param_2) { longlong lVar1; lVar1 = **(longlong **)(param_1 + 8); if (*(int *)(lVar1 + 0x444) != 0) { *(undefined4 *)(**(longlong **)(lVar1 + 0x438) + 0x80c) = *param_2; *(undefined1 *)(lVar1 + 0x240467) = 1; FUN_18052fc30(); return; } uRam000000000000080c = *param_2; *(undefined1 *)(lVar1 + 0x240467) = 1; FUN_18052fc30(); return; } [35] 0x180536d50 size=8 [36] 0x18048db00 size=15 [37] 0x180481210 size=5 [38] 0x182506f18 size=0 [39] 0x180536dc0 size=22 [40] 0x180536dc0 size=22 [41] 0x1805374e0 size=163 --- C --- void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (longlong param_1,float *param_2) { longlong *plVar1; longlong lVar2; float fVar3; float fVar4; float fVar5; fVar3 = logf(DAT_1824c43e8); plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x168); lVar2 = *plVar1; fVar4 = powf(*param_2 * DAT_1824c3cb8,DAT_1824c3ef8); fVar5 = logf(DAT_1824c45e4); fVar3 = expf(fVar4 * (fVar5 - fVar3) + fVar3); /* WARNING: Could not recover jumptable at 0x000180537580. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(lVar2 + 0x80))(plVar1,fVar3); return; } [42] 0x180536db0 size=8 [43] 0x18048db00 size=15 [44] 0x180481210 size=5 [45] 0x182506090 size=0 [46] 0x1805367f0 size=22 [47] 0x1805367f0 size=22 [48] 0x180537f60 size=25 [49] 0x1805367e0 size=8 [50] 0x18048db00 size=15 [51] 0x180481210 size=5 [52] 0x90f8daaa9ae9 (invalid/enc) [53] 0x182506948 size=0 [54] 0x1805366d0 size=22 [55] 0x1805366d0 size=22 [56] 0x180538010 size=25 [57] 0x1805366c0 size=8 [58] 0x18048db00 size=15 [59] 0x180481210 size=5 [60] 0x6a5500ee6cd5 (invalid/enc) [61] 0x1b39b7231a23 (invalid/enc) [62] 0x1825061b8 size=0 [63] 0x180536a30 size=14