Files
soothe2-re/f1.txt
T

823 lines
32 KiB
Plaintext

############ FUN_ 180541f20 size=5019 ############
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
/* WARNING: Type propagation algorithm not settling */
void FUN_180541f20(undefined8 *param_1,undefined8 param_2)
{
longlong ***ppplVar1;
char cVar2;
short sVar3;
short sVar4;
int iVar5;
uint uVar6;
undefined4 uVar7;
int iVar8;
undefined4 uVar9;
undefined4 uVar10;
longlong lVar11;
longlong lVar12;
longlong lVar13;
undefined8 uVar14;
ulonglong uVar15;
undefined8 *puVar16;
undefined8 uVar17;
void *pvVar18;
ulonglong uVar19;
uint uVar20;
uint *puVar21;
longlong ***_Memory;
longlong ***ppplVar22;
undefined1 *puVar23;
undefined8 *puVar24;
undefined1 auStack_338 [32];
undefined8 *local_318;
longlong local_310;
ulonglong local_308;
longlong local_300;
int local_2f8;
int local_2f4;
longlong ***local_2f0;
undefined2 local_2e8;
undefined2 local_2e6;
undefined2 local_2e4;
int local_2e0;
undefined2 local_2dc;
undefined8 *local_2d8;
uint local_2d0;
longlong ***local_2c8;
undefined1 *local_2c0;
undefined1 *local_2b8;
ulonglong local_2b0;
longlong local_2a8;
longlong local_2a0;
longlong local_298;
longlong local_290;
longlong local_288;
longlong local_280;
longlong local_278;
longlong local_270;
longlong local_268;
longlong local_260;
longlong local_258;
undefined8 local_250;
longlong local_248;
undefined8 local_240;
longlong local_238;
undefined8 local_230;
longlong local_228;
longlong local_220;
longlong ***local_218;
undefined8 local_210;
undefined8 local_208;
undefined8 local_200;
undefined8 local_1f8;
undefined8 local_1f0;
undefined8 local_1e8;
undefined8 ****local_1e0;
void *local_1d8;
undefined8 local_1d0;
void *local_1c8;
undefined8 local_1c0;
void *local_1b8;
undefined8 local_1b0;
void *local_1a8;
undefined8 local_1a0;
longlong local_198;
longlong local_190;
longlong local_188;
longlong local_180;
longlong local_178;
undefined8 local_170;
undefined8 local_168;
undefined8 local_160;
undefined8 local_158;
longlong local_150;
longlong local_148;
longlong local_140;
undefined8 local_138;
undefined8 local_130;
undefined8 local_128;
undefined8 local_120;
undefined8 local_118 [2];
longlong local_108 [6];
undefined8 local_d8;
undefined8 *local_d0;
undefined8 local_c8;
void *local_a0 [7];
undefined1 local_68 [16];
undefined1 local_58 [31];
undefined1 local_39;
ulonglong local_38 [2];
local_d8 = 0xfffffffffffffffe;
local_38[0] = DAT_182615970 ^ (ulonglong)auStack_338;
local_318 = param_1;
local_d0 = param_1;
FUN_18049c4e0(&local_150,"WAV file");
*param_1 = juce::AudioFormatReader::vftable;
uVar19 = 0;
param_1[1] = 0;
*(undefined4 *)(param_1 + 2) = 0;
param_1[3] = 0;
*(undefined4 *)(param_1 + 4) = 0;
*(undefined1 *)((longlong)param_1 + 0x24) = 0;
puVar24 = param_1 + 5;
*puVar24 = 0;
param_1[6] = 0;
param_1[7] = 0;
param_1[8] = 0;
*(undefined1 *)(param_1 + 9) = 1;
param_1[10] = param_2;
param_1[0xb] = local_150;
puVar21 = (uint *)(local_150 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
*puVar21 = *puVar21 + 1;
UNLOCK();
}
local_2d8 = puVar24;
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
*param_1 = juce::WavAudioFormatReader::vftable;
param_1[0xc] = 0;
param_1[0xd] = 0;
param_1[0xe] = 0;
param_1[0xf] = 0;
*(undefined4 *)(param_1 + 0x10) = 0;
*(undefined2 *)((longlong)param_1 + 0x84) = 0;
param_1[0x11] = 0;
param_1[0x14] = 4;
*(undefined4 *)(param_1 + 0x15) = 0xffffffff;
*(undefined1 *)((longlong)param_1 + 0xac) = 0;
param_1[0x12] = 0;
param_1[0x13] = 0;
local_2b0 = 0;
local_2f4 = 0;
local_2f8 = 0;
local_2e0 = 0;
local_130 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
iVar5 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
if (iVar5 == 0x34364652) {
(**(code **)(*(longlong *)param_1[10] + 0xb8))((longlong *)param_1[10],4);
*(undefined1 *)((longlong)param_1 + 0x84) = 1;
}
else {
if (iVar5 != 0x46464952) {
}
uVar6 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
lVar11 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
uVar19 = (ulonglong)uVar6 + lVar11;
local_2b0 = uVar19;
}
lVar11 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
iVar5 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
if (iVar5 == 0x45564157) {
if ((*(char *)((longlong)param_1 + 0x84) != '\0') &&
(iVar5 = (**(code **)(*(longlong *)param_1[10] + 0x40))(), iVar5 == 0x34367364)) {
uVar6 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
if (uVar6 < 0x1c) {
}
lVar12 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
lVar13 = (**(code **)(*(longlong *)param_1[10] + 0x50))();
uVar19 = lVar11 + lVar13;
local_2b0 = uVar19;
uVar14 = (**(code **)(*(longlong *)param_1[10] + 0x50))();
param_1[0xf] = uVar14;
(**(code **)(*(longlong *)param_1[10] + 0xb0))
((longlong *)param_1[10],(ulonglong)(uVar6 & 1) + lVar12 + (ulonglong)uVar6);
}
uVar15 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
if (uVar15 < uVar19) {
do {
cVar2 = (**(code **)(*(longlong *)param_1[10] + 0x10))();
if (cVar2 != '\0') break;
iVar5 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
uVar6 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
uVar19 = (ulonglong)uVar6;
lVar11 = (**(code **)(*(longlong *)local_318[10] + 0xa8))();
param_1 = local_318;
local_310 = (ulonglong)(uVar6 & 1) + lVar11 + (ulonglong)uVar6;
if (iVar5 == 0x20746d66) {
sVar3 = (**(code **)(*(longlong *)local_318[10] + 0x30))();
sVar4 = (**(code **)(*(longlong *)param_1[10] + 0x30))();
*(int *)(param_1 + 4) = (int)sVar4;
iVar5 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
param_1[1] = (double)iVar5;
iVar5 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
(**(code **)(*(longlong *)local_318[10] + 0xb8))((longlong *)local_318[10],2);
sVar4 = (**(code **)(*(longlong *)local_318[10] + 0x30))();
puVar24 = local_318;
uVar20 = (uint)sVar4;
*(uint *)(local_318 + 2) = uVar20;
if (uVar20 < 0x41) {
*(uint *)(local_318 + 0x10) = *(int *)(local_318 + 4) * uVar20 >> 3;
}
else {
*(int *)(local_318 + 0x10) = iVar5 / (int)(double)local_318[1];
*(uint *)(local_318 + 2) =
(uint)((iVar5 / (int)(double)local_318[1]) * 8) / *(uint *)(local_318 + 4);
}
param_1 = local_318;
if (sVar3 == 3) {
*(undefined1 *)((longlong)local_318 + 0x24) = 1;
}
else if (sVar3 == -2) {
if (0x27 < uVar6) {
(**(code **)(*(longlong *)local_318[10] + 0xb8))((longlong *)local_318[10],4);
uVar7 = (**(code **)(*(longlong *)puVar24[10] + 0x40))();
FUN_18049c4e0(&local_2a0,"ChannelMask");
lVar11 = FUN_181233e10(local_38,uVar7);
FUN_180495150(&local_2a8,lVar11,&local_39 + -lVar11);
FUN_18122c880(puVar24 + 5,&local_2a0,&local_2a8);
puVar21 = (uint *)(local_2a8 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
puVar21 = (uint *)(local_2a0 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
puVar16 = (undefined8 *)FUN_180543b30(local_a0,uVar7,*(undefined4 *)(puVar24 + 4));
local_c8 = puVar24[0x11];
puVar24[0x11] = *puVar16;
*puVar16 = local_c8;
uVar14 = puVar16[2];
puVar24[0x12] = puVar16[1];
puVar24[0x13] = uVar14;
puVar24[0x14] = puVar16[3];
*(undefined4 *)(puVar24 + 0x15) = *(undefined4 *)(puVar16 + 4);
*(undefined1 *)((longlong)puVar24 + 0xac) = *(undefined1 *)((longlong)puVar16 + 0x24);
/* WARNING: Subroutine does not return */
free(local_a0[0]);
}
*(undefined4 *)(local_318 + 0x10) = 0;
}
else {
if (((ushort)(sVar3 + 0x98b1U) < 3) || ((ushort)(sVar3 + 0x9891U) < 3)) {
*(undefined1 *)((longlong)local_318 + 0x85) = 1;
local_318[1] = 0;
(**(code **)(*(longlong *)local_318[10] + 0xb0))((longlong *)local_318[10],local_130);
}
if (sVar3 != 1) {
*(undefined4 *)(local_318 + 0x10) = 0;
}
}
}
else if (iVar5 == 0x61746164) {
if (*(char *)((longlong)local_318 + 0x84) == '\0') {
local_318[0xf] = uVar19;
}
else if (0 < (longlong)local_318[0xf]) {
lVar11 = local_318[0xf];
lVar12 = (**(code **)(*(longlong *)local_318[10] + 0xa8))();
local_310 = (ulonglong)((uint)lVar11 & 1) + lVar12 + lVar11;
}
uVar14 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
param_1[0xe] = uVar14;
if (*(int *)(param_1 + 0x10) < 1) {
param_1[3] = 0;
}
else {
param_1[3] = (longlong)param_1[0xf] / (longlong)*(int *)(param_1 + 0x10);
}
}
else {
if (iVar5 == 0x74786562) {
uVar14 = (**(code **)(*(longlong *)local_318[10] + 0xa8))();
param_1[0xc] = uVar14;
param_1[0xd] = uVar19;
/* WARNING: Subroutine does not return */
free((void *)0x0);
}
if (iVar5 == 0x6c706d73) {
/* WARNING: Subroutine does not return */
free((void *)0x0);
}
if ((iVar5 == 0x74736e69) || (iVar5 == 0x54534e49)) {
/* WARNING: Subroutine does not return */
free((void *)0x0);
}
if (iVar5 == 0x20657563) {
/* WARNING: Subroutine does not return */
free((void *)0x0);
}
if (iVar5 == 0x6c6d7861) {
local_1d8 = (void *)0x0;
local_1d0 = 0;
(**(code **)(*(longlong *)local_318[10] + 0xa0))
((longlong *)local_318[10],&local_1d8,uVar19);
if (local_1d8 != (void *)0x0) {
iVar5 = (int)local_1d0;
if (iVar5 < 0) {
FUN_18049c9e0(&local_2c0);
goto LAB_1805427be;
}
if (0 < iVar5) {
FUN_18124a8a0(&local_2c0,local_1d8,(longlong)iVar5 + (longlong)local_1d8);
goto LAB_1805427be;
}
}
local_2c0 = &DAT_1821dbf98;
LAB_1805427be:
FUN_18136dab0(param_1 + 5,&local_2c0);
puVar21 = (uint *)(local_2c0 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
/* WARNING: Subroutine does not return */
free(local_1d8);
}
if (iVar5 == 0x5453494c) {
iVar5 = (**(code **)(*(longlong *)local_318[10] + 0x40))();
if ((iVar5 == 0x6f666e69) || (iVar5 == 0x4f464e49)) {
FUN_18136e1e0(param_1 + 5,param_1[10],local_310);
}
else if ((iVar5 == 0x6c746461) &&
(lVar11 = (**(code **)(*(longlong *)param_1[10] + 0xa8))(), lVar11 < local_310))
{
do {
iVar8 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
uVar6 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
local_2d0 = uVar6;
local_140 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
iVar5 = local_2e0;
local_140 = local_140 + (ulonglong)((uVar6 & 1) + uVar6);
if ((iVar8 == 0x6c62616c) || (iVar8 == 0x65746f6e)) {
ppplVar22 = (longlong ***)&DAT_1821dbf98;
local_2f0 = (longlong ***)&DAT_1821dbf98;
if (iVar8 == 0x6c62616c) {
lVar11 = -1;
do {
lVar12 = lVar11;
lVar11 = lVar12 + 1;
} while ((&DAT_1821dbf99)[lVar12] != '\0');
FUN_1812342b0(&local_2f0,lVar12 + 9);
ppplVar22 = local_2f0;
puVar23 = (undefined1 *)((longlong)(int)(lVar12 + 1) + (longlong)local_2f0);
memcpy(puVar23,"CueLabel",8);
puVar23[8] = 0;
pvVar18 = (void *)FUN_181233e10(local_68,local_2f8);
uVar6 = (int)local_68 - (int)pvVar18;
local_308 = (ulonglong)uVar6;
if (0 < (int)uVar6) {
lVar11 = -1;
do {
lVar11 = lVar11 + 1;
} while (*(char *)((longlong)ppplVar22 + lVar11) != '\0');
FUN_1812342b0(&local_2f0,(int)uVar6 + lVar11);
ppplVar22 = local_2f0;
puVar23 = (undefined1 *)((longlong)(int)lVar11 + (longlong)local_2f0);
memcpy(puVar23,pvVar18,(longlong)(int)local_308);
puVar23[(int)local_308] = 0;
}
local_2f8 = local_2f8 + 1;
param_1 = local_318;
}
else if (iVar8 == 0x65746f6e) {
lVar11 = -1;
do {
lVar12 = lVar11;
lVar11 = lVar12 + 1;
} while ((&DAT_1821dbf99)[lVar12] != '\0');
FUN_1812342b0(&local_2f0,lVar12 + 8);
ppplVar22 = local_2f0;
puVar23 = (undefined1 *)((longlong)(int)(lVar12 + 1) + (longlong)local_2f0);
memcpy(puVar23,"CueNote",7);
puVar23[7] = 0;
pvVar18 = (void *)FUN_181233e10(local_58,local_2f4);
uVar6 = (int)local_58 - (int)pvVar18;
local_308 = (ulonglong)uVar6;
if (0 < (int)uVar6) {
lVar11 = -1;
do {
lVar11 = lVar11 + 1;
} while (*(char *)((longlong)ppplVar22 + lVar11) != '\0');
FUN_1812342b0(&local_2f0,(int)uVar6 + lVar11);
ppplVar22 = local_2f0;
puVar23 = (undefined1 *)((longlong)(int)lVar11 + (longlong)local_2f0);
memcpy(puVar23,pvVar18,(longlong)(int)local_308);
puVar23[(int)local_308] = 0;
}
local_2f4 = local_2f4 + 1;
param_1 = local_318;
}
uVar7 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
local_1c8 = (void *)0x0;
local_1c0 = 0;
(**(code **)(*(longlong *)param_1[10] + 0xa0))
((longlong *)param_1[10],&local_1c8,(longlong)(int)(local_2d0 - 4));
FUN_181211fd0(&local_220,uVar7);
ppplVar1 = ppplVar22 + -2;
if (((ulonglong)*ppplVar1 & 0x30000000) == 0) {
LOCK();
*(uint *)ppplVar1 = *(uint *)ppplVar1 + 1;
UNLOCK();
}
local_1e0 = &local_2c8;
local_2c8 = ppplVar22;
FUN_181232e20(&local_2c8,"Identifier","");
local_1e0 = (undefined8 ****)local_2c8;
ppplVar22 = local_2c8 + -2;
if (((ulonglong)*ppplVar22 & 0x30000000) == 0) {
LOCK();
*(uint *)ppplVar22 = *(uint *)ppplVar22 + 1;
UNLOCK();
}
_Memory = local_2c8 + -2;
if (((ulonglong)*_Memory & 0x30000000) == 0) {
LOCK();
uVar6 = *(uint *)_Memory;
*(uint *)_Memory = *(uint *)_Memory - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(_Memory);
}
}
FUN_18122c880(param_1 + 5,&local_1e0,&local_220);
if (((ulonglong)*ppplVar22 & 0x30000000) == 0) {
LOCK();
uVar6 = *(uint *)ppplVar22;
*(uint *)ppplVar22 = *(uint *)ppplVar22 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(ppplVar22);
}
}
puVar21 = (uint *)(local_220 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
if (local_1c8 != (void *)0x0) {
iVar5 = (int)local_1c0;
if (iVar5 < 0) {
FUN_18049c9e0(&local_2b8);
goto LAB_180543133;
}
if (0 < iVar5) {
FUN_18124a8a0(&local_2b8,local_1c8,(longlong)iVar5 + (longlong)local_1c8);
goto LAB_180543133;
}
}
local_2b8 = &DAT_1821dbf98;
LAB_180543133:
local_218 = local_2f0;
if (((ulonglong)*ppplVar1 & 0x30000000) == 0) {
LOCK();
*(uint *)ppplVar1 = *(uint *)ppplVar1 + 1;
UNLOCK();
}
uVar14 = FUN_1812465e0(&local_148,&local_218,&DAT_1824acc88);
FUN_18122c880(param_1 + 5,uVar14,&local_2b8);
puVar21 = (uint *)(local_148 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
puVar21 = (uint *)(local_2b8 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
/* WARNING: Subroutine does not return */
free(local_1c8);
}
if (iVar8 == 0x7478746c) {
uVar14 = FUN_18124a960(local_108,local_2e0);
FUN_181246550(&local_300,"CueRegion",uVar14);
local_2e0 = iVar5 + 1;
puVar21 = (uint *)(local_108[0] + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
uVar7 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
uVar9 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
uVar10 = (**(code **)(*(longlong *)param_1[10] + 0x40))();
local_2dc = (**(code **)(*(longlong *)local_318[10] + 0x30))();
local_2e8 = (**(code **)(*(longlong *)local_318[10] + 0x30))();
local_2e6 = (**(code **)(*(longlong *)local_318[10] + 0x30))();
local_2e4 = (**(code **)(*(longlong *)local_318[10] + 0x30))();
local_1b8 = (void *)0x0;
local_1b0 = 0;
(**(code **)(*(longlong *)local_318[10] + 0xa0))
((longlong *)local_318[10],&local_1b8,(longlong)(int)(local_2d0 - 0x14))
;
FUN_181211fd0(&local_290,uVar7);
lVar11 = local_300;
local_298 = local_300;
if ((*(uint *)(local_300 + -0x10) & 0x30000000) == 0) {
LOCK();
*(int *)(local_300 + -0x10) = *(int *)(local_300 + -0x10) + 1;
UNLOCK();
}
uVar14 = FUN_1812465e0(&local_198,&local_298,"Identifier");
FUN_18122c880(local_2d8,uVar14,&local_290);
puVar21 = (uint *)(local_198 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
puVar21 = (uint *)(local_290 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
FUN_181211fd0(&local_280,uVar9);
local_288 = local_300;
if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) {
LOCK();
*(int *)(lVar11 + -0x10) = *(int *)(lVar11 + -0x10) + 1;
UNLOCK();
}
uVar14 = FUN_1812465e0(&local_190,&local_288,"SampleLength");
puVar24 = local_2d8;
FUN_18122c880(local_2d8,uVar14,&local_280);
puVar21 = (uint *)(local_190 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
puVar21 = (uint *)(local_280 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
FUN_181211fd0(&local_270,uVar10);
local_278 = local_300;
if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) {
LOCK();
*(int *)(lVar11 + -0x10) = *(int *)(lVar11 + -0x10) + 1;
UNLOCK();
}
uVar14 = FUN_1812465e0(&local_188,&local_278,"Purpose");
FUN_18122c880(puVar24,uVar14,&local_270);
puVar21 = (uint *)(local_188 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
puVar21 = (uint *)(local_270 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
FUN_181211fd0(&local_260,local_2dc);
local_268 = local_300;
if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) {
LOCK();
*(int *)(lVar11 + -0x10) = *(int *)(lVar11 + -0x10) + 1;
UNLOCK();
}
uVar14 = FUN_1812465e0(&local_180,&local_268,"Country");
FUN_18122c880(puVar24,uVar14,&local_260);
puVar21 = (uint *)(local_180 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
puVar21 = (uint *)(local_260 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
FUN_181211fd0(&local_250,local_2e8);
local_258 = local_300;
if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) {
LOCK();
*(int *)(lVar11 + -0x10) = *(int *)(lVar11 + -0x10) + 1;
UNLOCK();
}
uVar14 = FUN_1812465e0(&local_178,&local_258,"Language");
FUN_18122c880(puVar24,uVar14,&local_250);
puVar21 = (uint *)(local_178 + -0x10);
if ((*puVar21 & 0x30000000) == 0) {
LOCK();
uVar6 = *puVar21;
*puVar21 = *puVar21 - 1;
UNLOCK();
if (uVar6 == 0) {
/* WARNING: Subroutine does not return */
free(puVar21);
}
}
FUN_180495200(local_250);
FUN_181211fd0(&local_240,local_2e6);
local_248 = local_300;
if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) {
LOCK();
*(int *)(lVar11 + -0x10) = *(int *)(lVar11 + -0x10) + 1;
UNLOCK();
}
uVar14 = FUN_1812465e0(&local_170,&local_248,"Dialect");
FUN_18122c880(puVar24,uVar14,&local_240);
FUN_180495200(local_170);
FUN_180495200(local_240);
FUN_181211fd0(&local_230,local_2e4);
local_238 = local_300;
if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) {
LOCK();
*(int *)(lVar11 + -0x10) = *(int *)(lVar11 + -0x10) + 1;
UNLOCK();
}
uVar14 = FUN_1812465e0(&local_168,&local_238,"CodePage");
FUN_18122c880(puVar24,uVar14,&local_230);
FUN_180495200(local_168);
FUN_180495200(local_230);
uVar14 = FUN_18123a690(&local_1b8,&local_158);
local_228 = local_300;
if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) {
LOCK();
*(int *)(lVar11 + -0x10) = *(int *)(lVar11 + -0x10) + 1;
UNLOCK();
}
uVar17 = FUN_1812465e0(&local_160,&local_228,&DAT_1824acc88);
FUN_18122c880(local_2d8,uVar17,uVar14);
FUN_180495200(local_160);
FUN_180495200(local_158);
/* WARNING: Subroutine does not return */
free(local_1b8);
}
(**(code **)(*(longlong *)param_1[10] + 0xb0))((longlong *)param_1[10],local_140);
lVar11 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
} while (lVar11 < local_310);
}
}
else if (iVar5 == 0x64696361) {
local_108[1] = 0;
local_108[2] = 0;
local_108[3] = 0;
uVar20 = 0x18;
if (uVar19 < 0x18) {
uVar20 = uVar6;
}
(**(code **)(*(longlong *)local_318[10] + 0x18))
((longlong *)local_318[10],local_108 + 1,uVar20);
FUN_180541960(local_108 + 1,param_1 + 5);
}
else {
if (iVar5 == 0x6e6b7254) {
local_1a8 = (void *)0x0;
local_1a0 = 0;
(**(code **)(*(longlong *)local_318[10] + 0xa0))
((longlong *)local_318[10],&local_1a8,uVar19);
FUN_18049c4e0(&local_210,"tracktion loop info");
uVar14 = FUN_18123a690(&local_1a8,&local_138);
FUN_18122c880(param_1 + 5,&local_210,uVar14);
FUN_180495200(local_138);
FUN_180495200(local_210);
/* WARNING: Subroutine does not return */
free(local_1a8);
}
lVar11 = (**(code **)(*(longlong *)local_318[10] + 0xa8))();
if (local_310 <= lVar11) break;
}
}
(**(code **)(*(longlong *)param_1[10] + 0xb0))((longlong *)param_1[10],local_310);
uVar19 = (**(code **)(*(longlong *)param_1[10] + 0xa8))();
} while (uVar19 < local_2b0);
iVar5 = local_2f8;
if (0 < local_2f8) {
FUN_18049c4e0(&local_208,"NumCueLabels");
uVar14 = FUN_18124a960(&local_128,iVar5);
FUN_18122c880(param_1 + 5,&local_208,uVar14);
FUN_180495200(local_128);
FUN_180495200(local_208);
}
iVar5 = local_2f4;
puVar24 = param_1 + 5;
if (0 < local_2f4) {
FUN_18049c4e0(&local_200,"NumCueNotes");
uVar14 = FUN_18124a960(&local_120,iVar5);
FUN_18122c880(puVar24,&local_200,uVar14);
FUN_180495200(local_120);
FUN_180495200(local_200);
}
iVar5 = local_2e0;
if (0 < local_2e0) {
FUN_18049c4e0(&local_1f8,"NumCueRegions");
uVar14 = FUN_18124a960(local_118,iVar5);
FUN_18122c880(puVar24,&local_1f8,uVar14);
FUN_180495200(local_118[0]);
FUN_180495200(local_1f8);
}
}
}
if (0 < *(int *)((longlong)puVar24 + 0xc)) {
FUN_18049c4e0(&local_1e8,&DAT_1824acfe4);
FUN_18049c4e0(&local_1f0,"MetaDataSource");
FUN_18122c880(puVar24,&local_1f0,&local_1e8);
FUN_180495200(local_1f0);
FUN_180495200(local_1e8);
}
}
############ FUN_ 18054f390 size=3435 ############